إرسال مسارات متعددة إلى مسار واحد دون إعادة توجيه وظيفة
-
21-12-2019 - |
سؤال
أنا تحديث موقع الويب الخاص بي إلى تطبيق نيزك مع الحديد جهاز التوجيه ، وتحتاج إلى تغيير عناوين المواقع بلدي.كان المخطط القديم قد رسملة أسماء الصفحات مثل هذا:
mysite.com/Contact
لكنني غيرت كل شيء ليكون صغيرا:
mysite.com/contact
مسار الاتصال هذا ليس معقدا ، لذا تم إعداده على النحو التالي:
this.route('contact');
ولكن أريد /Contact
رابط ليتم توجيهها.وأنا أعلم أنني يمكن أن تفعل هذا فقط:
this.route('Contact', {
onBeforeAction: function() {
Router.go('contact');
}
});
لكنه أكثر فوضى.أفضل أن أفعل شيئا كهذا:
this.route('contact', {
path: ['/contact', '/Contact']
});
حيث يتم تعيين المسار ببساطة إلى مسارات متعددة.
هل هناك ميزة مثل هذه?أو هو بلدي onBeforeAction
أفضل أنا ذاهب للحصول على?
المحلول
https://github.com/EventedMind/iron-router/blob/devel/DOCS.md#dynamic-path-segments
يمكنك استخدام تعبير عادي لمقطع المسار (راجع المثال الأخير في ارتباط مقاطع المسار الديناميكي).
المسار الخاص بك سيكون:
this.route('contact', {
path: /contact/i
});
حيث ' أنا 'بعد مائل هو معدل التعبير العادي ليكون حالة حساسة مما يسمح لك لقبول أي اختلاف من 'الاتصال' (سواء الاتصال ، الاتصال ، أو الاتصال).
انظر http://www.w3schools.com/jsref/jsref_regexp_i.asp للحصول على تفاصيل حول معدل التعبير العادي.