2

私がこの設定を持っているとしましょう:

app.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider
        .when('/', { 
            templateUrl: 'app/partials/index.html',
            controller: 'defaultCtrl'
        })
        .when('/other', {
            templateUrl: 'app/partials/other.html',
            controller: 'errorCtrl'
        })
        .otherwise({ 
            templateUrl: 'app/partials/404.html'
        });
  }
]);

ルーターがルートを呼び出す前に、基本的で一般的なメンテナンス コードを実行する場所を探しています。console.clear()ルートが変更されるたびにコンソールログをクリアしたいとします。それを行うには、コード内でどのように、そしてどこが最適でしょうか?

4

1 に答える 1

8

サービスは、そのようなタスクを実行するために使用できる$routeイベントを発生させます。$routeChangeStart$scope.$on メソッドを使用して実装できます。みたいな

$scope.$on('$routeChangeStart',function(angularEvent,next,current) {
  //do you work here
});

$route ドキュメントを読んで、このようなイベントやその他のイベントについて理解してください。

また、$routeProvider構成メソッドは、ルートが解決される前に依存関係をセットアップするために実際に使用されるwhenパラメーターを取ることもできます。resolveこのresolveオブジェクト マップは、目的を達成するためにも使用できます。

于 2013-11-05T11:00:53.540 に答える