我准备了一个小提琴并将其煮沸到最低限度:
http://jsfiddle.net/lpeterse/NdhjD/4/
<script type="text/javascript">
angular.module('app', ['ui.bootstrap']);
function Ctrl($scope) {
$scope.foo = "42";
}
</script>
<div ng-app="app" ng-controller="Ctrl">
1: {{foo}}<br />
2: <input ng-model="foo" />
<tabs>
<pane heading="tab">
3: {{foo}}<br />
4: <input ng-model="foo" />
</pane>
</tabs>
</div>
一开始,所有视图都引用了模型Ctrl.foo
。
如果您更改输入中的某些内容,2:
它会正确更新模型,并且此更改会传播到所有视图。
更改输入内容4:
只会影响同一窗格中包含的视图。它的行为就像以某种方式分叉的范围。之后的更改2:
不再反映在选项卡中。
我阅读了有关指令、范围和嵌入的角度文档,但找不到对这种不良行为的解释。
我将不胜感激任何提示:-)