1

现在我像这样启动一个 angularjs(version:1.0.8) 应用程序:

angular.module('cms', ['angularFileUpload','ui.bootstrap']).
  config(['$routeProvider','$httpProvider', function($routeProvider,$httpProvider) {
    //$httpProvider.defaults.withCredentials = true;

    $routeProvider.
        when('/foo',{templateUrl: 'partials/foo/index.html',resolve:{nav:function(){
          renderNav();
        }}}).
        .when('/bar',{templateUrl: 'partials/bar/index.html',resolve:{nav:function(){
          renderNav();
        }}})
  }]);

每次更改路线时,我都想调用函数 renderNav(),那么如何使用 $routeProvider 来实现呢?

4

1 回答 1

1

在您的应用程序运行中,您可以收听成功的路由更改:

angular.module('cms').run(['$rootScope', function($rootScope) {

    $rootScope.$on('$routeChangeSuccess', function() {
        // call renderNav() which could be in a factory that you inject
    });

}]);

您还可以将相同的代码放入一个指令中,该指令将放入您将在其中显示导航的视图的 html 中。

于 2013-10-25T04:41:30.553 回答