指定默认的余烬路线而不会破坏路由器

use*_*986 2 ember.js ember-cli

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

app / routes / application.js

import Ember from 'ember';

export default Ember.Route.extend({
  redirect: function() {
    this.transitionTo('myroute');
  }
});
Run Code Online (Sandbox Code Playgroud)

这有效,但是问题是我的URL不再起作用。

当我去http://host/#/myroute2它仍然去我的路线

正确的做法是什么?

Pat*_*ssa 5

在routes文件夹中创建一个索引路由app/routes/index.js,它将用作application.index路由,并且仅在您位于其中时(即在基本URL中)才重定向。

由于您始终处于应用程序路线中,因此您使用的代码正确,只是放错了位置。

如果您使用的是余烬检查器(我可能会添加一个很棒的工具),那么您可以看到它的作用:

在此处输入图片说明

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