2012-10-02 7 views
8

私はリソースビューアのアプリケーションを作っていますが、問題は私がwhen("/!/:resourceUrl")と一致しようとしたことです。AngularJS - 経路 - 星としてのパス(*)の一致方法

リソースのURLが/pathのようなものであれば問題ありませんが、どうすれば/path/to/the/resourceのようにすることができますか?
どのくらいのパスが必要なのかわからないので、私は.when("/!/:path1/:path2/:path3")を実行できません。

アイデア?

答えて

12

あなたがこれを行うことができ、角度-1.2の通り:特に

when("/!/:resourceUrl*") 

http://code.angularjs.org/1.2.0/docs/api/ngRoute.$routeProvider

をドキュメントには、次の例を示します:

たとえば、/color/:color/largecode/:largecode*\/editのようなルートは/color/brown/largecode /code/with/slashs/editとex道:

  • color: brown
  • largecode: code/with/slashs
4

現在のところ、AngularJSはルート内の正規表現をサポートしていません。

これらのリンクをチェックしてください:https://github.com/angular/angular.js/issues/918https://github.com/angular/angular.js/pull/972

+0

感謝。あなたは私にアイデアや目標をどのようにアーカイブするかを賞賛することができます。私は2つのルート/ loginと/!を持っています。 /!/:resourcePathは、ユーザーが見たいリソースへのパスですが、醜いので、/!/ path2Fto2Fthe2Fresourceを作成したくありません。 – Diestrin

+0

リソースをどういう意味ですか?それは長い間「醜い」IDを持つデータですか? –

+0

さて、リソースは書籍や画像の​​URLのようなものですが、私のアプリはライブラリですが、私はhttp://myapp.com/#/!/javascript/basicsのようなことをしたいと思っています。 /JS_01.pdfこのパラメータを取得して、この方向を見てユーザーに表示することができます。ユーザーはこのURLをブックマークして共有することができます。 – Diestrin

関連する問題