2016-07-26 2 views
6

कोणीय कभी कभी मैंने देखा है कर्ली कोष्ठक में उपयोग करने के लिए जब लेकिन कुछ समय नहीं.मैं एक बहुत खोज, लेकिन मैं नहीं घुंघराले बिना धनुषाकार कोष्ठककोणीय कर्ली कोष्ठक

ng-src="{{imageSrc}} 

साथ सही सवाल

मिल सकता है ब्रैकेट

ng-hide="imageSrc" 

क्या मैं पूछ रहा हूँ कारण है कि हम ng-hide रूप

012 नहीं लिख सकते हैं

src और hide के लिए 2 अलग-अलग वाक्यविन्यास क्यों हैं?

उत्तर

6

यह केवल उस निर्देश पर निर्भर करता है जिस पर आप उपयोग कर रहे हैं "घोषित" है।

निर्देश निम्नलिखित घोषणा न हों तो:

scope:{ 
    ngHide: '=' 
} 

फिर, आप क्योंकि निर्देश एक वस्तु

उम्मीद डबल मूंछें का उपयोग करने के निर्देश का पालन की तरह घोषित किया जाता है, तो जरूरत नहीं है:

scope:{ 
    ngMin:'@' 
} 

, तो यह एक मूल्य की अपेक्षा करता है। यदि आपका मान जावास्क्रिप्ट चर से आता है, तो आपको अपने चर में निहित स्ट्रिंग को इंटरपोल करने के लिए घुंघराले ब्रेसिज़ का उपयोग करना होगा।

संपादित करें:

यह एक लंबे समय के बाद से मैं कोणीय स्रोत कोड को पढ़ने के लिए किया गया है।

मैं किसी भी स्रोत कोड मेरी बात साबित करने के लिए नहीं मिला है:

ngController जो उम्मीद एक स्ट्रिंग निम्नलिखित

var ngControllerDirective = [function() { 
    return { 
    restrict: 'A', 
    scope: true, 
    controller: '@', 
    priority: 500 
    }; 
}]; 

https://github.com/angular/angular.js/blob/master/src/ng/directive/ngController.js#L3

ngMaxLength

var maxlengthDirective = function() { 
    return { 
    restrict: 'A', 
    require: '?ngModel', 
    link: function(scope, elm, attr, ctrl) { 
     if (!ctrl) return; 

     var maxlength = -1; 
     attr.$observe('maxlength', function(value) { 
     var intVal = toInt(value); 
     maxlength = isNaN(intVal) ? -1 : intVal; 
     ctrl.$validate(); 
     }); 
     ctrl.$validators.maxlength = function(modelValue, viewValue) { 
     return (maxlength < 0) || ctrl.$isEmpty(viewValue) || (viewValue.length <= maxlength); 
     }; 
    } 
    }; 
}; 
की तरह घोषित किया जाता है

https://github.com/angular/angular.js/blob/master/src/ng/directive/validators.js#L186

+0

: RTFM के लिए प्रत्येक निर्देश क्या उम्मीद करता है। – deceze

+0

धन्यवाद, लेकिन मुझे यह जानने के लिए कोणीय स्रोत कोड देखना चाहिए कि क्या उपयोग करना है? –

+1

@ साइड्रू नमूने पढ़ें। अधिकांश समय आपको किसी भी डबल मूंछ की आवश्यकता नहीं होगी –

5

बीक्यूज का मतलब दो अलग-अलग चीजें हैं। जब आप इस का उपयोग करें:

<span data-ng-bind="test"> 

इसका मतलब है कि कोणीय गुंजाइश के लिए जाने के लिए और कुंजी के रूप में परीक्षण के साथ वहाँ से मूल्य मिल जाएगा। तो मूल्य $ scope.test होगा। लेकिन attribte मूल्य "परीक्षण"

जब आप

ng-src="{{imageSrc}} 

का उपयोग तो मूल्य का मूल्यांकन किया और विशेषता को रखा जाएगा हो जाएगा। तो मूल्य $ scope.imageSrc होगा और विशेषता मान $ scope.imageSrc होगा।

लेकिन। सभी टैग मूल्यांकन के लिए इंतजार नहीं कर सकते हैं। वे सोचते हैं कि मूल्य {{}} सही है और नहीं बदला जाएगा। खराब अनुरोध का कारण यह है। इस समस्या को ठीक करने के लिए ng-src बनाया गया था।

+0

लेकिन 'ng-hide = 'imgSrc' मान में मूल्यांकन और प्रतिस्थापित किया जाना चाहिए? मुझे खेद है कि मैं उलझन में हूं –

+0

संख्या समस्या को विभाजित करने दें। यहां हमारी अवधि है: परीक्षण कक्षा विशेषता को ध्यान दें। जब डोम प्रस्तुत किया जाएगा, ब्राउज़र कक्षा = "myClass" देखेंगे। जैसा कि यह प्रोपर प्रारूप में है, सब ठीक हो जाएगा। फिर, कोणीय वृद्धि। यह डेटा-एनजी-छुपा = "imgSrc" देखेगा, गुंजाइश पर जाता है और एक मान प्राप्त करता है। विशेषता डेटा-एनजी-छुपा मूल्य बदला नहीं जाएगा। लेकिन निर्देश के अंदर मूल्य होगा! फिर! हाल ही में प्राप्त मूल्य के आधार पर निर्देश विशेषता वर्ग को अपने तर्क के साथ संशोधित करेगा। बस इतना ही। – Vitalii

4

आप लिख नहीं सकते क्योंकि दोनों का अलग अर्थ है इस लिंक को , यह सब अभिव्यक्ति और टेम्पलेट तर्क के बारे में है।

https://docs.angularjs.org/api/ng/directive/ngSrc

ng-src=template 

आप तर्क में पा सकते हैं

https://docs.angularjs.org/api/ng/directive/ngHide

ng-hide=expression 

तुम भी तर्क में पा सकते हैं

→ अंत जवाब है में
संबंधित मुद्दे