4

次のコード スニペットを使用して、Angular js でワイルドカード (*) ルーティングを実行しようとしています。

$routeProvider.when('/something/:action/:id/:params*\/', {

  templateUrl : "/js/angular/views/sample/index.html",

  controller : 'SampleCtrl'

}).otherwise({

  redirectTo: '/something/all' //This exists in real code

});

サンプルパス: /#/something/details/201/1

この URL を呼び出すと、otherwise メソッドが実行されます。ここで何が間違っていますか?前もって感謝します

4

3 に答える 3

6

$routeProvider標準の正規表現をサポートしていませんが、名前付きグループをサポートしています:

  • path には、コロン (:name) で始まる名前付きグループを含めることができます。ルートが一致すると、次のスラッシュまでのすべての文字が一致し、指定された名前で $routeParams に格納されます。

  • パスには、星 (*name) で始まる名前付きグループを含めることができます。ルートが一致すると、すべての文字が所定の名前で $routeParams に格納されます。

だからあなたは試してみるべきです

$routeProvider.when('/something/:action/:id/:params/*rest'

どちらが一致しますか/#/something/details/201/1/whatever/you/say

于 2013-09-04T12:57:27.013 に答える
0

あなたが使用することができます

$routeProvider.when('/something/:action/:id/:params?,
于 2015-09-11T00:08:28.020 に答える