2016-07-10 2 views
0

のための特定のAngularJSルートを制限する:これらの経路のいずれかがAngularJSで定義されたすべてのルートにフルアクセスを提供します私は次のように私のNodeJSバックエンドサーバapp.jsファイルに追加した2つのルートを持っているNodeJS所定のルート

// Add the routes 
app.get('/provision', ...); 
app.get('/', ...); 

を:ただ、例えば

function routes($routeProvider){ 
    $routeProvider 
     .when('/list', 
     { 
      templateUrl: 'sections/list/list.tpl.html', 
      controller: 'listController', 
      controllerAs: 'listCtrl' 
     }) 
     .when('/overview', 
     { 
      templateUrl: 'sections/overview/overview.tpl.html', 
      controller: 'overviewController', 
      controllerAs: 'overviewCtrl' 
     }) 
... 

:私がアクセスできるようにするだけ「/リスト」AngularJSでルートやNodeJSで「/」ルートのためにアクセスできるようにするNodeJSに「/規定」ルートをコントロールしたいと思いますAngularJSの "/ overview"ルートのみを表示します。

私のコードでは、NodeJSで定義された "/ provision"または "/"ルートを使用して、ブラウザからすべてのAngularJSルートにアクセスできます。私は "/ provision"のためにある特定のangularJSルートだけにアクセスし、残りは "/"ルートにアクセスしたいと思います。それをどうやってコントロールできますか?

答えて

1

角度ルーティングを使用している場合、おそらくapi呼び出しを除いてノード内の*ルート以外を使用する必要はありません。ただし、stateChangeStartライフサイクルメソッドを使用して、ユーザーに角度経路を許可する必要があるかどうかを判断できます。これを行う方法のいくつかの説明はここにあります。UI- Router -- run function on every route change -- where does the state name live?

したがって、ルーティングを処理するためにノードと角度の両方を使用しないことを繰り返します。 uiルーターがすべてのルーティングを処理できる*ルートがあります。 stateChangeStartを使用して、ユーザーが移動しようとしている場所に移動できるかどうかを判断できます。移動できない場合は、移動できます。

関連する問題