【发布时间】:2015-05-02 10:56:40
【问题描述】:
我在 Angular js 中举了两个例子,但我得到了意想不到的结果。嵌套控制器的例子:
第一个例子
<div ng-controller="maincontroller">
<input ng-model="data.name">
<h1>{{data.name}}</h1>
<div ng-controller="nestedcontroller">
<input ng-model="data.name">
<h1>{{data.name}}</h1>
<div ng-controller="nestedANOTHERcontroller">
<input ng-model="data.name">
<h1>{{data.name}}</h1>
</div>
</div>
<div ng-controller="nestedOUTERRcontroller">
<input ng-model="data.name">
<h1>{{data.name}}</h1>
</div>
</div>
当我在所有嵌套控制器中使用 "data.name" 时。现在,当我更改任何输入字段时,它会反映在所有输入字段和标题字段中。为什么?
其次 当我使用 "name" 而不是 "data.name"
<div ng-controller="maincontroller">
<input ng-model="name">
<h1>{{name}}</h1>
<div ng-controller="nestedcontroller">
<input ng-model="name">
<h1>{{name}}</h1>
<div ng-controller="nestedANOTHERcontroller">
<input ng-model="name">
<h1>{{name}}</h1>
</div>
</div>
<div ng-controller="nestedOUTERRcontroller">
<input ng-model="name">
<h1>{{name}}</h1>
</div>
</div>
当我在顶部输入字段上更改时,它会在所有输入字段和标题字段中更改。但是当我移动到第二个输入字段时,它会更改为它的嵌套(子)输入字段和标题,但不会更改为上级控制器和兄弟控制器为什么?当我移动到最里面的控制器并更改输入字段内的文本时,它会显示标题。现在,如果它的父控制器尝试更改其文本,它就无法做到。父母控制器现在只更改其文本,为什么?
这是我的代码 http://codepen.io/anon/pen/xGGJKR
谢谢
【问题讨论】:
标签: angularjs angularjs-directive angularjs-scope ionic-framework