2012-10-02 9 views
8

मैं संसाधन दर्शक ऐप बना रहा हूं, लेकिन समस्या यह है कि मैंने when("/!/:resourceUrl") से मिलान करने का प्रयास किया।कोणीय जेएस - रूट - पथ (*) को पथ के रूप में कैसे मिलान करें

यह संसाधन ठीक है अगर संसाधन यूआरएल /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 और पूर्व से मेल खाते हैं पथ:

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

अभी तक, AngularJS मार्गों में नियमित अभिव्यक्तियों का समर्थन नहीं करता है।

चेक इन कड़ियों: https://github.com/angular/angular.js/issues/918, https://github.com/angular/angular.js/pull/972

+0

धन्यवाद। आप मुझे एक विचार या मेरे लक्ष्य को कैसे संग्रहीत कर सकते हैं। मेरे पास सिर्फ 2 मार्ग हैं,/लॉगिन और /! /! /: ResourcePath उस संसाधन का मार्ग है जिसे उपयोगकर्ता देखना चाहते हैं, लेकिन मैं एक /!/Path2Fto2Fthe2Fresource बनाना नहीं चाहता क्योंकि यह बदसूरत है। – Diestrin

+0

संसाधन कहने का आपका क्या मतलब है? क्या वह कुछ डेटा है जिसमें इसकी लंबी 'बदसूरत' आईडी है? –

+0

हाँ, ठीक है, संसाधन किसी पुस्तक या छवि के यूआरएल जैसा कुछ है, मेरा ऐप एक लाइब्रेरी है, लेकिन मैं ऐसा कुछ करने में सक्षम होना चाहता हूं: http://myapp.com/#/!/javascript/basics /JS_01.pdf इसलिए मैं इस पैरामीटर को प्राप्त कर सकता हूं और इसे उपयोगकर्ता को दिखाने के लिए इस दिशा को देख सकता हूं। उपयोगकर्ता इस यूआरएल को तेज करने के लिए बुकमार्क कर सकता है। – Diestrin