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');
我有一个 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');