是否有可能将两个视图绑定到一个控制器,以便无论数据在何处更改(view1,view2或在模型中),两个视图都会更新?它应该像这个例子一样工作(删除了杂乱)。
<script>
angular.module('foobar', []).controller('ContentCtrl', ['$scope', function($scope) {
$scope.content = {'title': 'Foo', 'subtitle': 'Bar', 'text': 'desc'};
}]);
</script>
<form action="#" ng-controller="ContentCtrl">
<input type="text" ng-model="content.title">
<input type="text" ng-model="content.subtitle">
<textarea ng-model="content.text"></textarea>
</form>
<div ng-controller="ContentCtrl">
<input type="text" ng-model="content.title">
<input type="text" ng-model="content.subtitle">
<textarea ng-model="content.text"></textarea>
</div>
这是一个Plunker:http://plnkr.co/edit/UDs10RhG7mJR8813epwO?p=preview
答案 0 :(得分:5)
没有理由你不能这样做,但同一个对象必须在两个控制器的范围内。见http://plnkr.co/edit/ILzGCs9AYiPTETE92KTm?p=preview
在原始示例中,每个范围都有自己的对象,因此每个范围都在自己的对象上运行。如果两个作用域共享同一个对象,则每个作用域都在同一个对象上运行,因此一个作用域中的更改将反映在另一个作用域中。