我准备了一个小提琴并将其煮至最低限度:
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>
Run Code Online (Sandbox Code Playgroud)
在开始时,所有视图都参考模型Ctrl.foo
.
如果您在输入中更改某些内容,2:
则会正确更新模型,并且此更改会传播到所有视图.
更改输入中的内容4:
只会影响同一窗格中包含的视图.它的行为类似于以某种方式分叉的范围.之后的变化2:
不再反映在标签中.
我阅读了有关指令,范围和转换的角度文档,但无法找到对此不良行为的解释.
我会很感激任何提示:-)