我在使用隔离范围的指令中使用单向绑定时遇到问题。
如果我使用等号进行双向绑定,并使用如下数据:{{d.name}}
,则可行。
如果我使用@符号,它就不起作用。如果我使用等号并使用如下数据:{{::d.name}}
,它也会失败。
你可以在这个plunker上看到我的完整例子:http://plnkr.co/edit/8bUl8pZSV8Ryru6GDq2M?p=preview
有人可以帮我理解这里发生的事情吗?感谢。
答案 0 :(得分:3)
自Angular 1.3以来,我们一直在介绍您尝试使用的单向绑定语法 在您的演示中,您使用的是版本1.2.25 您必须更改脚本链接:
<script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.0/angular.js" data-semver="1.2.25"></script>
第二个指令的问题是,@
不是单向绑定,它只是将属性作为文本。
要像使用它一样使用它,所以你需要在将文本传递给指令之前插入文本,就像这样
<h3>Directive 2</h3>
<p ng-repeat="d in data">
<dir2 d="{{d.name}}"></dir2>
</p>