我想将一些布尔属性绑定/设置到指令。但我真的不知道如何做到这一点并实现以下行为。
想象一下,我想为结构设置一个标志,假设列表是否可折叠。我有以下 HTML 代码:
<list items="list.items" name="My list" collapsable="true"></list>
items
是双向绑定的,name
只是一个属性
我想要那个collapsable
属性在列表的 $scope 中可用,可以通过传递值(true、false 或其他),也可以是双向绑定
<list items="list.items" name="{{list.name}}" collapsable="list.collapsed"></list>
我正在开发一些 UI 组件,我想提供多种与它们交互的方式。也许,随着时间的推移,有些人想通过将对象的属性传递给属性来了解该组件的状态,无论是折叠还是未折叠。
有办法实现这一点吗?如果我误解了什么或者我错了,请纠正我。
Thanks
您可以为布尔值配置您自己的单向数据绑定行为,如下所示:
link: function(scope, element, attrs) {
attrs.$observe('collapsable', function() {
scope.collapsable = scope.$eval(attrs.collabsable);
});
}
此处使用 $observe 意味着您的“watch”仅受属性更改的影响,如果您直接更改指令内的 $scope.collapsable 则不会受到影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)