Я разрабатываю веб-приложение с AngularJS, и я хотел бы знать, как я могу установить переменные $scope
, являющиеся достоянием всех моих контроллеров (или их большая часть).Задайте общие переменные сферы в забеге
То, что я пытаюсь:
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ui.bootstrap'])
.run(function($ionicPlatform, $rootScope, $location, Common) {
$ionicPlatform.ready(function() {
//Set default global values
$rootScope.$on('$stateChangeSuccess', function (event) {
$scope.universe = "Universe and other things :)";
$scope.elsewhere = "Good day sir";
$scope.fish = "Perfectly well";
});
});
});
});
Так что я не должен писать каждый раз одно и то же в каждом контроллере:
angular.module('starter.controllers').controller('Controller1', function($scope) {
//I don't want this:
$scope.universe = "Universe and other things :)";
});
angular.module('starter.controllers').controller('Controller2', function($scope) {
//I don't want this:
$scope.elsewhere = "Good day sir";
});
angular.module('starter.controllers').controller('Controller3', function($scope) {
//I don't want this:
$scope.fish = "Perfectly well";
});
Важно то, что я даже не хочу использовать services
для этой цели, потому что я не хочу назначений в каждом контроллере.
Этот '$ rootScope. $ On ('$ stateChangeSuccess' ...' должен работать, это то, что я обычно делаю. Обычно я делаю контроллер, скажем 'AppCtrl', и добавляю' ng-controller = "AppCtrl" 'к тегу' ', а затем в контроллере, я бы добавил' $ scope. $ on ('$ stateChangeSuccess' ... 'и установить мои« общие »переменные области. – jValdron