Ember.Js 将 TransitionTo Route 与动态分段一起使用

Ember.Js Using TransitionTo Route with dynamic segment

我有一个 ember 应用程序(版本 3.14),我想转换到具有动态段的路由

我想在用户访问 /projects/other 时重定向到 /projects/other/2020 我更改了我的 projects/other 路线,使其看起来像这样,但它抛出了一个错误

import Route from '@ember/routing/route';

export default Route.extend({
    
    model: function(){
    
    },
    redirect() {
        let year_data = {
            year: '2020'
        };
        this.transitionTo('projects.other',year_data);
    }
});

这就是我的项目路线在 routes.js

中的样子
this.route('projects', function() {
  this.route('notable',{path: '/'});
  this.route('other', function() {
    this.route('list', {path: '/:year'});
  });
});

这些是来自 google chrome 控制台框的错误

error screenshot

错误信息很清楚。您正在尝试重定向到没有任何动态段的 projects.other.index 路线。另外,根据 docs,您需要传递一个 id 而不是一个对象。当您传递一个对象时,ember 将其视为随时可用的模型。所以,你的代码应该是

this.transitionTo('projects.other.list', '2020');