我有一個非常簡單的預加載屏幕腳本,我需要從幾個控制器中獲取。然而,我不能讓它自動更新變量,我不知道我做錯了什麼。如何監視我廠的變量變化
廠:
myApp.factory("preloader", function(){
var preload = {};
preload.loaded = true;
preload.turnOn = function() {
preload.loaded = true;
console.log('on');
}
preload.turnOff = function() {
preload.loaded = false;
console.log('off');
}
preload.getState = function() {
return preload.loaded;
}
return preload;
});
控制器
mazda.controller('preloadingHome', ['$scope', "preloader", function($scope, preload) {
$scope.users = false;
$scope.showPreload = preload.getState();
console.log(preload.loaded);
$scope.turnOn = function(){
preload.turnOn();
}
$scope.turnOff = function(){
preload.turnOff();
}
//
// $scope.state = preload.state;
// preload.turnOff();
}]);
查看
<body data-ng-controller="preloadingHome">
<div>aaa: {{ showPreload }}</div>
<div>b: {{users}} </div>
<input type="checkbox" ng-model="users" />
<input type="checkbox" ng-change="turnOff()" ng-model="pene" />
<input type="checkbox" ng-change="turnOn()" ng-model="pene2" />
<!-- script src="js/scripts.min.js"></script -->
<script src="js/scripts.min.js"></script>
<script src="js/bundle.js"></script>
</body>
我的問題是:在{{SH無論我如何改變,視圖中的owPreload}}變量加載總是保持爲真。
我見過這個問題的最佳解釋 - 非常感謝 – danday74