Я пытаюсь связать вычисляемое свойство (или изменить через наблюдателя) динамический сегмент iso
в маршруте locale
. Маршрутизатор у меня представлен:Связывание с динамическим сегментом маршрута
this.route('locale', { path: '/:iso' }, function(){
this.route('products', function() {
this.route('single', { path: '/:id/:seoName' });
});
});
что приводит к URL, как это:
http://localhost:4200/en-us
http://localhost:4200/en-us/products
http://localhost:4200/en-us/products/123/product-name
Что мне интересно, есть ли способ программно изменить en-us
часть URL нет вопрос, на каком пути вы находитесь? Моя проблема до сих пор с запуском transitionTo()
заключается в том, что я не знаю, что такое подпункт маршрута из текущего местоположения.
В принципе, мне нужен способ привязки сегмента en-us
к вычисленному значению, которое я могу обновить автоматически при его изменении.
Заранее благодарен!
EDIT:
Для дальнейшего уточнения, я ищу способ, чтобы обновить сегмент URL когда свойство изменяет. Что-то вроде этого:
- Перейдите к: http://localhost:4200/en-us/products
- служба называет
this.set('locale', 'fr-ca')
- Route детектирует обновлено
service.locale
свойство - URL будет обновлена: http://localhost:4200/fr-ca/products
У вас есть в вашем маршруте refreshModel: верно определены для изо пары? Я могу предоставить пример передачи вычислимого свойства контроллеру на основе iso, но это то, что вы хотите? –
@MirzaMemic no? Можете ли вы привести пример? Это звучит многообещающе: D – ShadowPuppet
В качестве продолжения это не для параметра запроса, указанного как '? Iso = en-us', а для фактического сегмента маршрута в самом URL-адресе. – ShadowPuppet