Ember 应用的多个路由器
Multiple routers for an Ember app
一个 Ember 应用可以有多个 router.js 吗?
默认一个router.js会有
import Ember from 'ember';
import config from '../../config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
export default Router.map(function() {
this.resource('sampleroute');
});
其他router.js将有
import Ember from 'ember';
import config from '../../config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
export default Router.map(function() {
this.resource('sampleroute2');
});
我只需要创建 Ember 应用程序来读取我的第二个路由器 (router2.js),它默认读取默认值 router.js 来设置路由。
您可以在一个函数内的单独文件中定义您的路由,然后像这样导出该函数
page1.js
export default function() {
this.route('page1');
}
page2.js
export default function() {
this.route('page2');
}
然后将其导入您的 router.js 文件。
import page1Routes from 'page1';
import page2Routes from 'page2';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
page1Routes.call(this);
page2Routes.call(this);
});
export default Router;
您可以重复调用Router.map来添加新路由。所以你可以用同样的方式导入你的其他路线。
您可以按照 blessenm 所示将函数分开 。
但在那种情况下,您将继续保持对这些文件的依赖性。 router.js 将继续成为几乎所有开发人员使用的资源。
除了那个答案:
对于每个模块,您可以生成一个导出该函数的 "modul-route.js" 文件。然后通过使用实例初始化器,您可以收集所有这些函数和 运行 Router.map(...); 所有加载文件的函数。
一个 Ember 应用可以有多个 router.js 吗?
默认一个router.js会有
import Ember from 'ember';
import config from '../../config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
export default Router.map(function() {
this.resource('sampleroute');
});
其他router.js将有
import Ember from 'ember';
import config from '../../config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
export default Router.map(function() {
this.resource('sampleroute2');
});
我只需要创建 Ember 应用程序来读取我的第二个路由器 (router2.js),它默认读取默认值 router.js 来设置路由。
您可以在一个函数内的单独文件中定义您的路由,然后像这样导出该函数
page1.js
export default function() {
this.route('page1');
}
page2.js
export default function() {
this.route('page2');
}
然后将其导入您的 router.js 文件。
import page1Routes from 'page1';
import page2Routes from 'page2';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
page1Routes.call(this);
page2Routes.call(this);
});
export default Router;
您可以重复调用Router.map来添加新路由。所以你可以用同样的方式导入你的其他路线。
您可以按照 blessenm 所示将函数分开
除了那个答案: 对于每个模块,您可以生成一个导出该函数的 "modul-route.js" 文件。然后通过使用实例初始化器,您可以收集所有这些函数和 运行 Router.map(...); 所有加载文件的函数。