我一直在試驗AngularJS值,並希望存儲一個全局值,以訪問和設置在不同的控制器。設置AngularJS全局值來訪問和設置跨控制器
所以我一直在嘗試用價值投資法,像這樣:
var app = angular.module('myApp', []);
app.value('globalValue', 0);
app.controller('myCtrl', ['$scope', '$rootScope', 'globalValue', function($scope, $rootScope, globalValue) {
$scope.updateValue = function() {
globalValue++;
};
}]);
app.controller('myCtrlB', ['$scope', '$rootScope', 'globalValue', function($scope, $rootScope, globalValue) {
$scope.someValueB=globalValue;
}]);
這裏有一個fiddle
所以在我的小提琴,點擊該按鈕時,這是行不通的,因爲我認爲這可能,爲了增加我的'全局',myCtrlB中的範圍屬性不會改變。
我已經清楚地瞭解了這個錯誤的方法,我完全誤解了如何在這裏使用value()嗎?
感謝
您是否嘗試過使用angular.constant()? – jcc
@ user1518802常數也會起作用,儘管它有點誤稱,因爲該值不會隨時間而保持不變。在功能方面,它會工作得很好,因爲常量也只是一個比.value限制更少的提供者https://docs.angularjs.org/guide/providers問題仍然是相同的,儘管因爲賦值而不是參考。 – shaunhusain