2 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個贊
對我來說,你的問題是這樣的:
var a = false;
var b = a;
console.log(a,b);
var b = true;
console.log(a,b);
為什么a
不是true
第二次之后console.log
?不應(yīng)該a
和b
一樣嗎?
不,因?yàn)?code>a和b
是獨(dú)立的實(shí)體。
類似地,當(dāng)代碼值分配false
給$scope.props[0]
該指令的范圍勢必$scope.condition[0]
父范圍。
$scope.toggle
并且$scope.condition[0]
是獨(dú)立的實(shí)體。a
改變時不改變b
。
$scope.toogle
改變時不改變$scope.condition[0]
。
為什么摘要循環(huán)也不會更新切換?或者,當(dāng)其分配的值發(fā)生變化時,摘要循環(huán)甚至?xí)虑袚Q嗎?
該ng-if="toggle"
指令在 上創(chuàng)建一個監(jiān)視$scope.toggle
。它從不修改$scope.toggle
.
在props="condition"
結(jié)合上創(chuàng)建一個表$scope.props
的指令和更新的價值$scope.condition
父$scope
。因?yàn)樗请p向綁定,所以它也會監(jiān)視$scope.condition
父對象并更新$scope.props
指令的屬性。
$scope.toggle
AngularJS 框架或其摘要循環(huán)永遠(yuǎn)不會更新該屬性。

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個贊
嘗試刪除replace: true指令配置中的 。
使用時replace: true,它將用內(nèi)容替換指令標(biāo)記,因此您將丟失ngIf指令,因?yàn)閠oggleis的初始值true。
<test ng-if="toggle" props="condition"></test>
將被替換為
<div>directive show</div>
所以結(jié)果將是
<div ng-app="myApp" ng-controller="Controller">
<div>directive show</div>
</div>
添加回答
舉報