दृश्यता:
जब आपका कोणीयज बूटस्ट्रैपिंग कर रहा है, तो उपयोगकर्ता को HTML में आपके रखे हुए कोष्ठक दिखाई दे सकते हैं। इससे निबटा जा सकता है ng-cloak
। लेकिन मेरे लिए यह वर्कअराउंड है, कि मुझे उपयोग करने की आवश्यकता नहीं है, अगर मैं उपयोग करता हूंng-bind
।
प्रदर्शन:
{{}}
है बहुत धीमी ।
यह ng-bind
एक निर्देश है और पारित चर पर एक द्रष्टा को रखेगा। तो ng-bind
केवल तभी लागू होगा, जब पारित मूल्य वास्तव में बदल जाता है ।
दूसरी ओर कोष्ठकों को हर हाल में गंदा चेक किया जाएगा और ताज़ा किया जाएगा , भले ही यह आवश्यक न हो । $digest
मैं वर्तमान में एक बड़ा सिंगल पेज ऐप (~ 500 बाइंडिंग प्रति दृश्य) बना रहा हूं। {{}} से सख्त में बदलने से ng-bind
हमें हर में लगभग 20% की बचत हुई scope.$digest
।
सुझाव :
यदि आप कोणीय-अनुवाद जैसे अनुवाद मॉड्यूल का उपयोग करते हैं, तो हमेशा कोष्ठक एनोटेशन से पहले निर्देशों को प्राथमिकता दें ।
{{'WELCOME'|translate}}
=> <span ng-translate="WELCOME"></span>
यदि आपको एक फ़िल्टर फ़ंक्शन की आवश्यकता है, तो बेहतर निर्देश के लिए जाएं, जो वास्तव में आपके कस्टम फ़िल्टर का उपयोग करता है। $ फ़िल्टर सेवा के लिए प्रलेखन
अद्यतन 28.11.2014 (लेकिन शायद विषय से दूर):
कोणीय 1.3x में bindonce
कार्यक्षमता पेश की गई थी। इसलिए आप एक बार एक अभिव्यक्ति / विशेषता के मूल्य को बांध सकते हैं (जब बाध्य हो जाएगा! = 'अपरिभाषित')।
यह उपयोगी है जब आप अपने बंधन को बदलने की उम्मीद नहीं करते हैं।
उपयोग: ::
अपने बंधन से पहले रखें :
<ul>
<li ng-repeat="item in ::items">{{item}}</li>
</ul>
<a-directive name="::item">
<span data-ng-bind="::value"></span>
उदाहरण:
ng-repeat
प्रति पंक्ति कई बाइंडिंग के साथ तालिका में कुछ डेटा का उत्पादन करने के लिए। अनुवाद-बाइंडिंग, फ़िल्टर आउटपुट, जो हर दायरे में पचते हैं।
ngBind
बजाय इसका उपयोग करना बेहतर होता है{{ expression }}
यदि कोई टेम्प्लेट अपने कच्चे राज्य में ब्राउज़र द्वारा क्षण भर में प्रदर्शित करता है इससे पहले कि कोणीय संकलन करता है। चूंकिngBind
एक तत्व विशेषता है, यह पेज को लोड करते समय उपयोगकर्ता के लिए बाइंडिंग को अदृश्य बनाता है।" - लेकिन प्रदर्शन के बारे में कुछ भी उल्लेख नहीं किया गया है।