मैं इस परीक्षण करने के लिए एक बेला बनाया खुद।
http://jsfiddle.net/xuvzzay8/4/
HTML:
<div ng-controller="MyCtrl">
{{bool ? ternaryTrue() : ternaryFalse() }}<br/>
{{bool}}<br/>
<button ng-click="bool = !bool">Toggle Bool</button>
{{a}}
<div style="background-color:red" ng-mouseover="hover()">
Hover here to trigger digest
</div>
</div>
जे एस:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.bool = true;
$scope.a = 0;
$scope.ternaryTrue = function(){
console.log("ternary executed on true");
}
$scope.ternaryFalse = function(){
$scope.a++; //creates an infinite digest loop
console.log("ternary executed on false");
}
$scope.hover = function(){
console.log("Hover");
}
}
नतीजा यह है कि त्रिगुट ऑपरेटर हर डाइजेस्ट पर निष्पादित किया जाता है।
संपादित करें: एक अनंत पाचन लूप आसानी से इसके साथ बनाया जा सकता है। जैसे ही $ स्कोप में कुछ फ़ंक्शन के दौरान बदल दिया जाएगा जिसे टर्नरी ऑपरेटर द्वारा बुलाया जाता है, एक और पाचन शुरू किया जाएगा जो टर्नरी ऑपरेटर के फ़ंक्शन को फिर से निष्पादित करता है।
पृष्ठ लोड होने पर इसे निष्पादित किया जाएगा और जब भी 'ui.isTrue' बदल जाएगा। –
केवल अगर AnglarJS 'ui.isTrue' के बारे में पता है – Pureferret