angularjs – 如何绑定布尔值在角度指令?

我想绑定/设置一些布尔属性到指令。但我真的不知道如何做到这一点,并实现以下行为。

想象一下,我想为一个结构设置一个标志,让我们说一个列表是可折叠的或不可折叠的。我有以下HTML代码

<list items="list.items" name="My list" collapsable="true"></list>

项目是双向绑定的,名称只是一个属性

我希望collapsable属性可以在列表的$ scope中通过传递一个值(true,false或任何),一个双向绑定

<list items="list.items" name="{{list.name}}" collapsable="list.collapsed"></list>

我正在开发一些UI组件,我想提供多种方式与他们交互。也许,时间上,有些家伙想通过传递一个对象的属性属性来知道该组件的状态,或者是折叠或不折叠。

有办法实现吗?请纠正我,如果我错过了什么或我错了。

谢谢

您可以配置您自己的单向数据绑定行为为booleans像这样:
link: function(scope,element,attrs) {

    attrs.$observe('collapsable',function() {

        scope.collapsable = scope.$eval(attrs.collabsable);
    });

}

使用$ observe这里的意思是你的“watch”只受属性更改的影响,如果你直接更改$ scope.collapsable在你的指令内,不会受到影响。

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...