У меня есть экран загрузки, чтобы показать, когда я храню данные на сервере, но он не обновляется, пока я не закончу свой запрос $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()
, но он говорит, что переваривать цикл уже на исполнение.
$ scope. $ Apply() not scope.apply() – MMK
попробуйте использовать $ timeout (function() {$ scope.iWantToUpdateThis = true}); – MMK
Вы думали об использовании $ rootScope для хранения поля? –