有没有办法在 AngularJS 指令中观察函数表达式的值变化?我有以下 HTML 和 JavaScript,{{editable()}}
模板中的插值显示该值评估为真,而在 Chrome 中检查 HTML 元素显示contenteditable
为假。
关于如何观察此函数的值变化并相应地更新元素 attr 的任何建议?还是有更好的方法来实现这一目标?(我仍然想评估这个功能。)
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());
});
}
};
});