ember.js - 无法transitionTo,错误“传递的上下文对象多于动态段”不正确
问题描述
我正在使用 Ember 3,并且在使用带有动态段的路由器服务时遇到问题。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'});
});
});
});
我究竟做错了什么?在这种情况下,这个错误对我来说没有意义。
解决方案
我的路由器:
之前缺少一个。image_id
因此路由器没有将其识别image_id
为动态段,因此 mytransitionTo
被解释为具有太多参数(1 而不是 0)。它与路由器服务无关。
这是更正后的路由器:
Router.map(function() {
this.route('data', function() {
this.route('images', function() {
this.route('image', {path: '/:image_id'});
});
});
});
推荐阅读
- angular - 我想用 Angular 更改“li”背景颜色
- r - 创建百分比ggplot2图
- php - Processwire 无法编辑根页面
- eclipse - 是否可以将 java 类排除在测试范围之外?
- c++ - C++ 重载决议总是求助于别名 arg。超过其他人作为arg。对所有人有效
- c++ - 如何让 gmock 将所有警告/失败视为错误?
- botframework - 如何在 botframework oauth 中使用多个资源 url?
- typo3 - TYPO3:如何在打字稿中访问 slug url 的 GET/POST 参数?
- sql-server - SlashDB 和 Azure SQL DB 的连接超时
- php - Laravel 控制器不会将参数传递给服务