Ember允许在路由器上指定根URL:http://emberjs.com/guides/routing/#toc_specifying-a-root-url
App.Router.reopen({
rootURL: '/blog/'
});
有没有办法指定动态网址:/:region/:locale/
?
rootURL
赋值似乎只接受文字字符串。
资产(包括Ember)正在从/assets/
等公共目录加载。
答案 0 :(得分:7)
您可以在rootURL
方法中动态设置Router.init
,例如
App.Router.reopen({
init: function() {
// set rootURL using regex to extract appropriate
// rootURL based on current window location
this.set('rootURL',
window.location.pathname.match('/[^/\]*/[^/\]*/')[0]);
this._super();
});
答案 1 :(得分:1)
你必须声明你是根URL'/',然后在其下创建其余的路径/资源。
答案 2 :(得分:1)
我能够在实例初始化程序中完成此操作 - 我使用ember-cli-meta-options将根URL设置为元环境变量,然后将其应用于路由器
export default {
name: "router",
initialize: function( instance ) {
var router = instance.container.lookup('router:main');
var options = instance.container.lookup('session:env');
router.rootURL = options['root'];
}
};