Код routing.js ниже вводит заданную страницу с помощью $ routeProvider. На каждой странице есть собственный контроллер, который использует сервис ToggleFactory.автоматический запуск служебной функции при посещении страницы
Есть ли способ автоматически запускать функцию «menuToggle» службы «TogglerFactory» всякий раз, когда страница посещается? Благодаря
//---routing.js----------------------------
(function() {
'use strict';
angular
.module('appModule')
.config(['$routeProvider', routing]);
function routing ($routeProvider) {
$routeProvider
.when('/page1', {
url: "/page1",
templateUrl: 'views/page1.html',
controller: 'Page1Ctrl'
})
.when('/page2', {
url: "/page2",
templateUrl: 'views/page2.html',
controller: 'Page2Ctrl'
})
}
})();
//---page1Ctrl.js------------------------
(function() {
'use strict';
angular
.module('appModule')
.controller('Page1Ctrl', ['$scope', 'TogglerFactory', page1Ctrl]);
function page1Ctrl($scope, Toggler) {
$scope.menuToggle = Toggler.menuToggle;
}
})();
//---menuToggle.js-----------------------
(function() {
'use strict';
angular.module('appModule')
.factory('TogglerFactory', function($rootScope) {
var TogglerFactory = {};
TogglerFactory.menuToggle = function(){
$rootScope.clicked = !$rootScope.clicked;
}
return TogglerFactory;
});
}());
Если вы просто позвоните Toggler.menuToggle() метод в контроллере будет выполняться каждый раз, когда маршрут хит (страница загружена). Разве это не работает? –
Да, так оно и есть. Спасибо. –