2016-11-22 5 views
1

setTitle匿名機能のURLにアクセスするにはどうすればよいですか?URLに基​​づいたルートルートプロバイダの設定ページのタイトル

私はAngularのルート設定に以下のようなものがあります。ほとんどのルートは同じコントローラを指していますが、コントローラにはいくつかの違いがありますが、基本的にはルートが重複しています。だから私はテーブルに1つのエントリだけがあるが、URLパラメータに基づいてタイトルを設定するSetWindowTitleを変更する必要があるものに移動したい。 producttype varが定義されていないので、私が表示したコードは機能しません。

現在のコード:私たちは、 '$ルート' を注入することによって、解決機能でルートURLにアクセスすることができます

$routeProvider 
     .when('/mypage/:producttype', { 
      templateUrl: 'product', 
      controller: 'productController', 
      resolve: { 
       setTitle: function() { 
        SetWindowTitle('product ' + producttype) 
       } 
      }, 
     }) 

答えて

1

.config(['$routeProvider', 
    function ($routeProvider) { 

    $routeProvider 
     .when('/mypage/round', { 
      templateUrl: 'product', 
      controller: 'productController', 
      resolve: { 
       setTitle: function() { 
        SetWindowTitle('product round') 
       } 
      }, 
     }) 
     .when('/mypage/square', { 
      templateUrl: 'product', 
      controller: 'productController', 
      resolve: { 
       setTitle: function() { 
        SetWindowTitle('product square') 
       } 
      }, 
     }) 
    // etc... 

は次のように何かをしたいです。ここ は、あなたが何をする必要があるかです:

$routeProvider 
    .when('/mypage/:producttype', { 
     templateUrl: 'product', 
     controller: 'productController', 
     resolve: { 
      setTitle: function($route) { 
       SetWindowTitle('product ' + $route.current.params.producttype) 
      } 
     }, 
    }) 

$のroute.current - 現在のすべてのルートのURLの詳細から構成され、コントローラのように、元のパス、パス、テンプレートURLなど

+0

ありがとう - うまくいきました。試してみると、それが細かいために壊れたことに注意してください。あなたが気にしないことを願って、それをカバーする答えを更新しました。 – miltonb

+0

あなたの歓迎、ええ、それは実際に練習する必要があります配列に配置する必要がありますが、ちょうどあなたのコードスニペットを変更して答えを与えるために、それをスキップしていた。 –

関連する問題