为什么单向绑定在angularjs中不起作用?

时间:2014-11-02 21:41:24

标签: angularjs angularjs-directive

我在使用隔离范围的指令中使用单向绑定时遇到问题。

如果我使用等号进行双向绑定,并使用如下数据:{{d.name}},则可行。

如果我使用@符号,它就不起作用。如果我使用等号并使用如下数据:{{::d.name}},它也会失败。

你可以在这个plunker上看到我的完整例子:http://plnkr.co/edit/8bUl8pZSV8Ryru6GDq2M?p=preview

有人可以帮我理解这里发生的事情吗?感谢。

1 个答案:

答案 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>

DEMO