Directive:
<div ng-show="{{ show }}">
...
</div>
angular.module('mymodule').directive('mydirective', [
function() {
return {
scope: {
show: '='
},
...
};
}]);
Parent:
<div mydirective show="show" ng-repeat="item in items">
</div>
controller.js:
this.show = false //intially
function changeVisibility(){
this.show = true; //how to tell the directive about this change?
}
"show"は最初は偽であるが後ではtrueになるスコープ変数です。しかし、このときディレクティブのスコープ変数 "show"は更新されません。親のshow変数が変更されたときに、ディレクティブのshow変数を更新するにはどうすればよいですか?私は$スコープを必要としますか?$時計か何か?親のスコープ変数が変更されたときにディレクティブを更新する方法は?
を試してみてください)'ショットを!補間ない見込んでhttp://jimhoskins.com/2012/12/17/angularjs-and-apply.html – spoonscen
@spoonscen '$ scope。$ apply()'は* "cure all"ではありません*スコープは角の範囲外で変更されていますが、明らかにそうではありません – charlietfl