我的 index.html 看起来像这样:
<div id="div1" ng-controller="StartMenu">
<div id="button1" ng-click="doSomething()"></div>
{{value}}
</div>
<div id="div2" ng-view></div>
模块配置:
angular.module('app').config([$routeProvider, function($routeProvider) {
$routeProvider.when('/start', {
templateUrl: 'partials/start.html', controller: StartMenu
});
}]);
开始.html:
<div id="button2" ng-click="doSomething()"></div>
{{value}}
和控制器功能:
function StartMenu($scope, globals) { // service globals defined elsewhere
$scope.value = globals.value
$scope.doSomething = function() {
// Manipulate globals.value
$scope.value = globals.value;
}
}
问题: index.html 中的这两个 div 元素共享相同的控制器功能。当我在 #div1 中单击 #button1 时,会调用 doSomething 并更改 $scope.value。更改立即呈现在#div1 和 {{value}} 更改但 #div2 保持不变。我如何“强制”#div2 被渲染并显示 {{value}} 的变化?