代码之家  ›  专栏  ›  技术社区  ›  handlebears

无法转换,错误“传递的上下文对象比动态段多”不正确

  •  1
  • handlebears  · 技术社区  · 7 年前

    我使用的是ember3,我在使用带有动态段的路由器服务时遇到了一个问题。在我的组件中,我使用路由器服务 transitionTo 单击时会出现子路由,但出现以下错误:

    路线段:data.images.image文件

    在组件js中,我使用transitiono并为一个动态段传递一个参数:

    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 回复  |  直到 7 年前
        1
  •  5
  •   handlebears    7 年前

    : 之前 image_id 在我的路由器里。因此,路由器无法识别 图像\u id transitionTo 被解释为具有太多参数(1而不是0)。这与路由器服务无关。

    这是正确的路由器:

    Router.map(function() {
      this.route('data', function() {
        this.route('images', function() {
          this.route('image', {path: '/:image_id'});
        });
      });
    });