AngularJS ディレクティブで関数式の値が変化するのを監視する方法はありますか? 私は次の HTML と JavaScript を持っています{{editable()}}
。テンプレートでの補間は、値が true に評価されることを示していますが、Chrome で HTML 要素を調べると、それcontenteditable
が false であることを示しています。
この関数の値が変化するのを監視し、それに応じて要素の属性を更新する方法について何か提案はありますか? または、これを達成するためのより良い方法はありますか? (私はまだ関数を評価したいと思います。)
HTML:
<h4 editable="account.hasRole('ROLE_ADMIN')" content="doc.heading"></h4>
Javascript:
mod
.directive(
'editable',
function() {
return {
restrict : 'A',
template : '<button class="btn pull-right"><i class="icon-pencil"></i></button>{{content}} ({{editable()}})',
scope : {
'content' : '=',
'editable' : '&'
},
link : function(scope, element, attrs) {
scope.$watch('editable', function(newValue) {
element.attr('contenteditable', newValue());
});
}
};
});