Невозможно выполнить переход: ошибка "больше объектов контекста передано, чем динамических сегментов" неверна
Я использую Ember 3, и у меня возникла проблема с использованием сервиса Router с динамическими сегментами. В моем компоненте я использую службу маршрутизатора для transitionTo
дочерний маршрут по клику, но я получаю эту ошибку:
Ошибка: передано больше объектов контекста, чем динамических сегментов для маршрута: data.images.image
Это в компоненте js, где я использую transitionTo и передаю один параметр для одного динамического сегмента:
router: service(),
actions: {
navToSubpage() {
// this.image is a single Ember Data record/object
this.router.transitionTo('data.images.image', this.image)
}
},
Это от моего маршрутизатора, который имеет вложенные маршруты с одним динамическим сегментом:
Router.map(function() {
this.route('data', function() {
this.route('images', function() {
this.route('image', {path: '/image_id'});
});
});
});
Что я делаю неправильно? Ошибка не имеет смысла для меня в этом случае.
1 ответ
Мне не хватало :
до image_id
в моем роутере. Поэтому роутер не распознал image_id
как динамический сегмент, так что мой transitionTo
было интерпретировано как наличие слишком большого количества параметров (1 вместо 0). Это не имеет никакого отношения к службе маршрутизатора.
Это исправленный маршрутизатор:
Router.map(function() {
this.route('data', function() {
this.route('images', function() {
this.route('image', {path: '/:image_id'});
});
});
});