有没有办法在AngularJS指令中观察函数表达式更改的值?我有以下
HTML和
Javascript,模板中{{editable()}}的插值显示值为true,同时检查Chrome中的HTML元素显示contenteditable为false.
关于我如何看这个函数的值的任何建议都会改变,并相应地更新元素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()); }); } }; });
尝试将手表放在’editable()’而不是’可编辑’
说明:这个原因是因为’&’指向属性表达式而不是表达式本身的动态生成的函数包装器.这个特殊的包装函数返回值account.hasRole(‘ROLE_ADMIN’).
原文地址:https://www.jb51.cc/angularjs/140530.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。