EmberJS - 重定向
这是一种 URL 重定向或转发机制,使网页可用于多个 URL 地址。Ember.js 定义了一个 transitionTo() 方法,将应用程序移至另一条路由,其行为类似于 link-to 助手。
要从一条路由重定向到另一条路由,请在路由处理程序中定义 beforeModel 钩子。
语法
Ember.Route.extend ({
beforeModel() {
this.transitionTo('routeToName');
}
});
示例
下面给出的示例描述了如何从一个路由重定向到另一个路由。创建一个新路由并将其命名为 beforemodel,然后使用以下代码打开 router.js 文件来定义 URL 映射 −
import Ember from 'ember';
//以变量 Ember 的形式访问 Ember.js 库
import config from './config/environment';
//它以变量 config 的形式提供对应用程序配置数据的访问
//const 声明只读变量
const Router = Ember.Router.extend ({
location: config.locationType,
rootURL: config.rootURL
});
//定义以参数为对象来创建路由的 URL 映射
Router.map(function() {
this.route('posts', function() {
this.route('beforemodel');
});
});
//它指定可供应用程序其他部分使用的 Router 变量
export default Router;
使用以下代码打开在 app/routes/ 下创建的文件 beforemodel.js −
import Ember from 'ember';
export default Ember.Route.extend ({
beforeModel() {
//打开beforemodel.hbs页面显示数据
this.transitionTo('beforemodel');
}
});
使用以下代码打开在 app/templates/ 下创建的文件 beforemodel.hbs −
<h2>Hello...Welcome to Tutorialspoint!!!</h2>
{{outlet}}
输出
运行 ember 服务器,您将收到以下输出 −

emberjs_router.html