我有一个加载屏幕显示我何时将数据存储到服务器,但在我完成$http
请求之前它不会更新。有人可以解释一下原因吗?
控制器:
app.controller('controller1',controller1);
controller1.$inject=['$scope', '$http', 'myService', 'basketService'];
function controller1($scope, $http, myService, basketService) {
//code
};
app.controller('controller2',controller2);
controller2.$inject=['$scope', '$http', 'myService', 'basketService'];
function controller2($scope, $http, myService, basketService) {
$scope.doSomething = function(){
$scope.iWantToUpdateThis = true;
};
};
HTML:
<body ng-controller="controller1">
<div ng-cloak ng-show="iWantToUpdateThis">
</div>
//code
<button ng-controller="controller2" ng-click="doSomething()">
clickMe
</button>
<body>
我已尝试使用$scope.$apply()
,但它表示摘要循环已在执行中。
答案 0 :(得分:0)
$scope.iWantToUpdateThis = true;
位于&#39; controller1&#39;当您在&#39; controller2&#39;
您已将控制器2中的功能更改为:
$scope.$parent.iWantToUpdateThis = true;
我已经为你做了plunker。