Как вызвать метод при маршрутизации к шаблону в AngularJS?

Как вызвать метод из сервиса при роутинге на шаблон в AngularJS?

wikiApp.config(['$routeProvider', 'faqService', 'newsService', 
  function($routeProvider, faqService, newsService) {
  $routeProvider
    .when('/hjem',{
        templateUrl: 'partials/homeContent.html',
    resolve: {
      newsService.setChosenStory("");
      faqService.setChosenFAQ("");
    }
 })

это не правильно? :С


person user2925894    schedule 10.04.2014    source источник
comment
Я понятия не имею, что делает разрешение, кстати   -  person user2925894    schedule 10.04.2014
comment
docs.angularjs.org/api/ngRoute/provider/$routeProvider   -  person JB Nizet    schedule 10.04.2014


Ответы (1)


Resolve используется для передачи контроллеру дополнительных параметров, например:

$routeProvider
.when('/a', {
    templateUrl: '/tmpl',
    controller: 'myCtrl',
    resolve: {
        someParameter: function(){
            return 'konichiva';
        }
    }
})
.when('/b', {
    templateUrl: '/tmpl',
    controller: 'myCtrl',
    resolve: {
        someParameter: function(){
            return 'vatashiva';
        }
    }
});

in myCtrl:

wikiApp.controller('myCtrl', function(someParameter){
    // if path is "/a" then "konichiva" will be logged
    // else if path is "/b" then "vatashiva" will be logged
    console.log(someParameter);
});
person karaxuna    schedule 10.04.2014
comment
Круто, а можно и в сервисы отправить? или нет? - person user2925894; 10.04.2014
comment
Вы можете использовать свой сервис в контроллере следующим образом: wikiApp.controller('myCtrl', function(someParameter, faqService, newsService){... - person karaxuna; 10.04.2014