2016-07-13 7 views
0

私はAngularjsを初めて使っていて、私の知識を向上させるために多くのチュートリアルがありました。すべてのチュートリアルは、$ routeProviderを使ってテンプレートをビューに読み込む方法を示しています。しかし、私は、ルートがわかっていると仮定している例を示しています。これらのルートを動的に作成する方法を学びたいので、dbから未知のナビゲーション項目のリストをプルしてループ内に作成することができます。Angular-js - 動的にnaviを作成

したがって、通常はチュートリアルが表示されます。

$ routeProvider.when( '/'、{ templateUrl: 'ビュー/ home.html'、 コントローラ: 'メインコントローラ' })

しかし、私は、これらのルートはどうなるかわからない場合はどのようなあらかじめ?

答えて

0

残念ながら、経路を動的に作成することはできません。 module.config()内でのみルートを設定できます。私はあなたが残りのパラメータとルートを検索すると思います。

ここでは、リストビューの簡単な例と、リストの1つの項目を表示する詳細ビューを示します。 backendServiceを定義するものとします。リストの結果のURLは... /#/ listであり、IDが12345のアイテムの詳細ビューの場合、URLは... /#/ list/12345です。すべてのルートパラメータは文字列として解釈されることに注意してください。 routeParamsは{id: "12345"}になります。

角度phonecatのステップでは、#9は角度ルータの良い例です。

angular.module('app').config(function($routeProvider) { 
    $routeProvider.when('/list', 
    { 
     templateUrl: 'views/list.html', 
     controller:'listCtrl' 
    } 
).when('/list/:id', 
    { 
     templateUrl: 'views/detail.html', 
     controller: 'detailCtrl' 
    }) 
}); 
angular.module('app').controller('detailCtrl', 
    function($scope, $routeParams, backendService) { 
     $scope.items = backendService.getItemById($routeParams.id); 
    } 
); 
関連する問題