指定默认的ember路由而不破坏路由器

时间:2014-10-31 23:00:38

标签: ember.js ember-cli

我尝试将应用程序加载时自动重定向到路由/myroute/。 我所做的是将以下内容添加到我的 app / router / application.js

应用/路由/ application.js中

import Ember from 'ember';

export default Ember.Route.extend({
  redirect: function() {
    this.transitionTo('myroute');
  }
});

但是问题是我的网址不再有效。

当我转到http://host/#/myroute2时,它仍会转到 myroute

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

在您的路线文件夹app/routes/index.js中创建一个索引路线,这将作为application.index路线,只有当您在其中时才会重定向,即在基本网址中。

您正在使用的代码是错误的,因为您始终处于应用程序路径中。

如果您使用的是ember inspector(我可能会添加的一个很棒的工具),您可以看到它的实际效果:

enter image description here

从图中可以看出,即使我在工作资源上,我的当前路线也会通过应用程序路径。 我希望这是有道理的,如果您需要更多帮助,请在评论中告诉我。