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 服务器,您将收到以下输出 −