1

今、私は次のような angularjs(バージョン: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 に答える