【发布时间】:2014-02-25 19:30:51
【问题描述】:
Angular 中 ng-init 的范围是什么?这是一个演示我的问题的简单示例:
<div ng-init="model = { year: '2013'}">
<a href="" ng-click="model.year = '2012'">2012</a> |
<a href="" ng-click="model.year = '2013'">2013</a>
<div>Showing {{ model.year }}</div>
<hr />
</div>
<div ng-init="model = { year: '2013'}">
<a href="" ng-click="model.year = '2012'">2012</a> |
<a href="" ng-click="model.year = '2013'">2013</a>
<div>Showing {{ model.year }}</div>
</div>
此处提供实时示例:http://plnkr.co/edit/HkioewOzzglvFMKDPdIf?p=preview
似乎 ng-init 范围在 2 个div[ng-init] 之间共享。例如,如果您在任一部分中单击“2012”年,则会更改两个部分中的year 属性。
有没有办法告诉 Angular 为每个 ng-init 创建一个新范围,从而单击“2012”年只会影响它所属的部分?
【问题讨论】:
标签: angularjs angularjs-scope angularjs-ng-init