2017-03-17 6 views
0

私は1つのURL /projectsからurl /projects/{name}に移動したいが、私は$stateParams.idでリソースを解決する必要がある。どうしたらいいですか?URLのない角張った状態のパラム

$stateProvider.state('project.detail', { 
... 
url: '/projekt/{name}/{id}', 
... 
resolve: { 
      project: ['$stateParams', 'ProjectService', function($stateParams, ProjectService) { 
       return ProjectService.get({id : $stateParams.id}).$promise; 
      }] 
     } 
...; 

しかし、私はURLから{ID}を削除します: '...'、それは動作しません

今、私はこのようなものを持っています。

私のフロントエンド・ナビゲーションは、次のとおりです。

ui-sref="project.detail({name: project.name, id: project.id})"

そして私はURLを持っている必要はありません... /プロジェクト/ハイパーループ/ 5462

だけ... /プロジェクト/ハイパーループ

ありがとうございました!

+0

ためui-router docsをご確認くださいどういうわけか「id」を得るために? – eminlala

答えて

1

ステートURLでパラメータを指定せずにパラメータを使用できます。あなたは状態の設定でparamsプロパティでそれらを指定することができます。

$stateProvider.state('project.detail', { 
    ... 
    url: '/projekt/{name}', 
    params: { 
     id: null 
    }, 
    resolve: { 
      project: ['$stateParams', 'ProjectService', function($stateParams, ProjectService) { 
       return ProjectService.get({id : $stateParams.id}).$promise; 
      }] 
    } 
    ... 
}) 

あなたは `/プロジェクト/ NAME`に行きたいのに、あなたはまだしたいイベント、物事を明確にするために、より詳細

+1

私はidをnullに設定するとビューから自分の値を上書きすることになると思っていましたが、そうではありません。ありがとうございました! –

関連する問題