दिलचस्प पोस्ट
मैं BitArray को एकल int में कैसे रूपांतरित कर सकता / सकती हूं? Windows अनुप्रयोग का कंसोल छुपाएं अनलिमिटेड ऑब्जेक्ट बनाम ऑब्जेक्ट नल के लिए शुरू किया गया MSTest में कई मापदंडों के साथ एक परीक्षण विधि कैसे चलाना है? पायथन 2.7 के साथ यूनिकोड सहित सीएसवी फ़ाइलों को पढ़ें और लिखें यूआईएलबल में पाठ की कई पंक्तियाँ संबंधित पथ और / या फ़ाइल नाम से पूर्ण पथ को हल करें Visual Basic 6.0 और VBA के बीच अंतर Xcode 6 और एम्बेडेड फ़्रेमवर्क केवल iOS8 में समर्थित हैं एसक्यूएल प्रदर्शन यूनियन बनाम या PHP में एक वेरिएबल के अंदर व्हाइटस्पेस पट्टी करना प्रकार के मूल्य 'मेमे!' को परिवर्तित नहीं किया जा सकता अपेक्षित तर्क प्रकार '@ noescape (मेे) फेंकता है -> बाल' जावा में मार्कर इंटरफेस? सी ++ में कॉपी कन्स्ट्रक्टर क्या है? serialize और अतिरिक्त डेटा के साथ jQuery पोस्ट ()

डाटा बाध्यकारी बिना मूल्य सौंपें

AngularJS में, मैं कैसे 2-रास्ता डेटा बाइंडिंग के बिना एक मान प्रदान कर सकता हूँ? कोई भी प्रदर्शन कारणों के लिए ऐसा करना चाहता हो, या समय पर दिए गए बिंदु पर मूल्य भी प्रदान कर सकता है

निम्न उदाहरण दोनों डेटा बाइंडिंग का उपयोग करते हैं:

<div>{{value}}</div>

<div data-ng-bind="value"></div>

मैं किसी डेटा बाध्यकारी के बिना value कैसे प्रदान करूं?

वेब के समाधान से एकत्रित समाधान "डाटा बाध्यकारी बिना मूल्य सौंपें"

कोणीय 1.3+

1.3 में, कोणीय ने निम्न सिंटैक्स का उपयोग करके इसका समर्थन किया है।

 <div>{{::message}}</div> 

जैसा कि इस उत्तर में वर्णित है।


कोणीय 1.2 और नीचे

यह सरल है और एक प्लगइन की आवश्यकता नहीं है इसकी जांच करें।

यह छोटा निर्देश आसानी से पूरा करेगा जो आप प्राप्त करने की कोशिश कर रहे हैं

 app.directive('bindOnce', function() { return { scope: true, link: function( $scope ) { setTimeout(function() { $scope.$destroy(); }, 0); } } }); 

आप इस तरह एक बार बाँध सकते हैं

 <div bind-once>I bind once - {{message}}</div> 

आप सामान्य की तरह बाँध सकते हैं

 <div ng-bind="message" bind-once></div> 

डेमो: http://jsfiddle.net/fffnb/

आप में से कुछ कोणीय बतरांग का प्रयोग कर रहे हैं, और जैसा कि टिप्पणियों में वर्णित है यदि आप इस निर्देश का उपयोग करते हैं तो यह तत्व अब भी बाध्यकारी के रूप में दिखाता है, जब यह नहीं है, तो मुझे पूरा यकीन है कि इस तत्व से जुड़े वर्गों के साथ ऐसा कुछ है कोशिश करो, इसे काम करना चाहिए (परीक्षण नहीं किया गया) मुझे टिप्पणी में बताएं अगर यह आपके लिए काम करता है

 app.directive('bindOnce', function() { return { scope: true, link: function( $scope, $element ) { setTimeout(function() { $scope.$destroy(); $element.removeClass('ng-binding ng-scope'); }, 0); } } }); 

@ x0b : यदि आपके पास ओसीडी है और आप खाली class विशेषता को हटाना चाहते हैं तो ऐसा करें

 !$element.attr('class') && $element.removeAttr('class') 

ऐसा लगता है कि एंजीर 1.3 (बीटा 10 से शुरू होता है) में एक बार बंधन निर्मित होता है:

https://docs.angularjs.org/guide/expression#one-time-binding

एक बार बाध्यकारी

एक अभिव्यक्ति जो कि से शुरू होती है :: एक बार अभिव्यक्ति माना जाता है एक बार अभिव्यक्ति एक बार स्थिर हो जाने के बाद पुनरावृत्ति को बंद कर देगी, जो पहली पचाने के बाद होती है यदि अभिव्यक्ति परिणाम एक गैर-अपरिभाषित मान है (नीचे मूल्य स्थिरीकरण एल्गोरिदम देखें)।

बाइंडोनस मॉड्यूल का उपयोग करें आपको जेएस फ़ाइल को शामिल करना होगा और इसे अपने ऐप मॉड्यूल पर निर्भरता के रूप में जोड़ना होगा:

 var myApp = angular.module("myApp", ['pasvaz.bindonce']); 

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

उपयोग का उदाहरण:

 <div bo-text="value"></div> 

जब इस तरह से इस्तेमाल किया जाता है, तो value उपलब्ध कराने के बाद एक संपत्ति उपलब्ध हो जाएगी, लेकिन फिर घड़ी को निष्क्रिय कर दिया जाएगा।

@वरज़ेलिस और @कोनूर के उत्तर के बीच तुलना:

कोणीय की परंपरागत एनजीआरपीट के साथ: 2000 पंक्तियों और 420 एमओ रैम के लिए 15 एस ( प्लंकर )

एनजीआरईपीट और @ ओवरजेईअल के मॉड्यूल के साथ: 2000 पंक्तियों के लिए 7 एस और रैम की 240 एमएम ( प्लंकर )

एनजीआरईपीट और @ कॉनर के निर्देश: 2000 पंक्तियों और 500 एमओ रैम के लिए ( प्लंकर )

मैंने Google क्रोम 32 के साथ अपने परीक्षण किए।

एक विकल्प के रूप में, पैकेज में angular-once है:

यदि आप AngularJS का उपयोग करते हैं, तो प्रदर्शन संबंधी समस्याएं हैं और बहुत सारे पठनीय डेटा प्रदर्शित करने की आवश्यकता है, यह प्रोजेक्ट आपके लिए है!

angular-once वास्तव में bindonce से प्रेरित था और समान once-* विशेषताएं प्रदान करता है:

 <ul> <li ng-repeat="user in users"> <a once-href="user.profileUrl" once-text="user.name"></a> <a once-href="user.profileUrl"><img once-src="user.avatarUrl"></a> <div once-class="{'formatted': user.description}" once-bind="user.description"></div> </li> </ul>