这个问题的 jsFiddle 可以在这里找到:http: //jsfiddle.net/Hsw9F/1/
JavaScript(jsFiddleconsole.log
中提供的调试信息)
var app = angular.module('StackOverflow',[]);
function ParentController($scope) {
$scope.parentCounter = 5;
}
function ChildController($scope) {
$scope.childCounter = $scope.parentCounter;
$scope.increaseCounters = function() {
++$scope.parentCounter;
++$scope.childCounter;
};
}
在上面的示例中,我在父控制器和子控制器中有一个计数器,分别命名为parentCounter
and childCounter
。我还在名为的子控制器中提供了一个函数,increaseCounters()
它将两个计数器都加一。
这两个计数器都显示在页面上:
<div ng-app="StackOverflow">
<div ng-controller="ParentController">
Parent Counter: {{parentCounter}}<br />
<div ng-controller="ChildController">
Child Counter: {{childCounter}}<br />
<a href="javascript:void(0)"
ng-click="increaseCounters()">Increase Counters</a>
</div><!-- END ChildController -->
</div><!-- END ParentController -->
</div><!-- END StackOverflow app -->
问题是 AngularJS 似乎没有更新{{parentCounter}}
页面上的,并且只在{{childCounter}}
调用增加计数器函数时更新。有什么我忽略的吗?