0

是否有可能将两个视图绑定到一个控制器,以便无论数据在哪里更改(视图1、视图2 或模型中),两个视图都会得到更新?它应该像这个例子一样工作(消除混乱)。

<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

4

1 回答 1

5

没有理由不能这样做,但同一个对象必须在两个控制器的范围内。见http://plnkr.co/edit/ILzGCs9AYiPTETE92KTm?p=preview

在原始示例中,每个作用域都有自己的对象,因此每个作用域都在自己的对象上运行。如果两个作用域共享同一个对象,那么每个作用域都在同一个对象上操作,因此一个作用域中的更改会反映在另一个作用域中。

于 2013-08-26T15:17:05.727 回答