दिलचस्प पोस्ट
जावा में स्ट्रिंग: बराबर बनाम == जावा महत्वपूर्ण वर्गों में, मुझे क्या सिंक्रनाइज़ करना चाहिए? यूआरएल PHP का अंतिम भाग प्राप्त करें मुझे Google वित्त जैसे एपीआई के माध्यम से मुद्रा विनिमय दर कैसे प्राप्त हो सकती हैं? एक ग्लोब के साथ एक निर्देशिका में फ़ाइलों की सूची प्राप्त करना जावास्क्रिप्ट में कई पंक्तियों में एक लंबी नियमित अभिव्यक्ति कैसे विभाजित है? PHP में एक एक्सेल फाइल पढ़ना नोडजे में कौन-से वादों को खारिज किया जाता है यह कैसे पता चलेगा? अजाक्स एक http पृष्ठ पर https का उपयोग करते हुए array_key_exists काम नहीं कर रहा है स्ट्रोक चौड़ाई ट्रांसफ़ॉर्म (SWT) कार्यान्वयन (जावा, सी # …) पायथन में सुंदर ग्राफ और चार्ट Php में htaccess के द्वारा केवल त्रुटि प्रदर्शन को सक्षम करना आईडी के लिए एंड्रॉइड फ्रेगमेंट कोई दृश्य नहीं मिला? कस्टम सूचना में बटन कार्रवाई को जोड़ना

कोणीय जेएस – मार्ग-यूआई डिफ़ॉल्ट पार्मेटर जोड़ें

मेरे ऐप में मैं कोणीय UI- राउटर का उपयोग करता हूं।

मेरे पास स्थानीय लोग (अंग्रेजी और हिब्रू) मेरी मूल भाषा अंग्रेजी है।

Thats क्यों मैं चाहता हूँ अगर भाषा अंग्रेजी है पैरामीटर को यूआरएल में जोड़ने के लिए नहीं

उदाहरण के लिए:

  • घर अंग्रेज़ी -> http://example.com/
  • होम हिब्रू -> http://example.com/he/

  • हमारे बारे में अंग्रेजी -> http://example.com/about

  • हमारे बारे में हिब्रू -> http://example.com/he/about

क्या यह संभव है ?

यह मेरा वर्तमान कोड है

 $stateProvider .state('/', { url: "/", templateUrl: "Assets/app/templates/home.html", controller: 'homeController' }) .state('activity', { url: "/activity", templateUrl: "Assets/app/templates/gallery.html", controller: 'galleryController' }) .state('page', { url: '/:pagename', templateUrl: "Assets/app/templates/page.html", controller: 'pageController' }); 

वेब के समाधान से एकत्रित समाधान "कोणीय जेएस – मार्ग-यूआई डिफ़ॉल्ट पार्मेटर जोड़ें"

एक काम करने वाले लंका है

हमेशा की तरह, UI-Router साथ यह संभव है – सुविधाओं में बनाया गया सबसे पहले, हम सुपर पैरेंट राज्य को उदाहरण के लिए 'रूट' कहते हैं। यह पैरामीटर lang को परिभाषित करेगा

 .state('root', { url: '/{lang:(?:en|he|cs)}', abstract: true, template: '<div ui-view=""></div>', params: {lang : { squash : true, value: 'en' }} }) 

दिलचस्प बातों का उल्लेख करने के लिए: url लैंग शब्द (हमारे मामले में, अंग्रेजी, हिब्रू और चेक) की मात्रा कम करने के लिए regexp का उपयोग होता है:

 url: '/{lang:(?:en|he|cs)}', 

यहां अधिक पढ़ें

साथ ही, हम params : {} नाम की एक सेटिंग से लाभ करते हैं params : {} यह कहते हैं, कि डिफ़ॉल्ट मान 'en' और क्या अधिक महत्वपूर्ण है – यह कुचल होना चाहिए, यदि 'एन' परम मान के साथ एक मैच होता है तो छोड़ दिया जाता है:

 params: {lang : { squash : true, value: 'en' }} 

अधिक पढ़ें उदाहरण यहाँ या यहाँ

इसलिए, यह हमारी अभिभावक, मूल अवस्था है, जिसे हम सभी राज्यों पर राज्य परिभाषा परिभाषित करने वाले parent : 'root' साथ लागू करेंगे parent : 'root' :

 .state('home', { parent: 'root', // parent will do the magic url: "/", templateUrl: "Assets/app/templates/home.html", controller: 'homeController' }) .state('activity', { parent: 'root', // parent magic url: "/activity", templateUrl: "Assets/app/templates/gallery.html", controller: 'galleryController' }) .state('page', { parent: 'root', // magic url: '/page/:pagename', templateUrl: "Assets/app/templates/page.html", controller: 'pageController' }); 

और अब ये लिंक काम करेंगे:

ui-sref अंग्रेजी:

 <a ui-sref="home({lang: 'en'})">home({lang: 'en'})</a> <a ui-sref="activity({lang: 'en'})">activity({lang: 'en'})</a> <a ui-sref="page({pagename:'one', lang: 'en'})">page({pagename:'one', lang: 'en'})</a> 

ui-sref हिब्रू:

 <a ui-sref="home({lang: 'he'})">home({lang: 'he'})</a> <a ui-sref="activity({lang: 'he'})">activity({lang: 'he'})</a> <a ui-sref="page({pagename:'two', lang: 'he'})">page({pagename:'two'})</a> 

href अंग्रेज़ी:

 <a href="#/">#/</a> <a href="#/activity">#/activity</a> <a href="#/page/three">#/page/three</a> 

href हिब्रू:

 <a href="#/he/">#/he/</a> <a href="#/he/activity">#/he/activity</a> <a href="#/he/page/three">#/he/page/three</a> 

इसे कार्रवाई में देखें यहाँ