Javascript 如何在Ember.js中指定动态根URL?
Ember允许在路由器上指定根URL: 是否有一种方法可以指定动态URL,如:Javascript 如何在Ember.js中指定动态根URL?,javascript,ember.js,web-applications,url-routing,Javascript,Ember.js,Web Applications,Url Routing,Ember允许在路由器上指定根URL: 是否有一种方法可以指定动态URL,如:/:region/:locale/ rootURL赋值似乎只接受文本字符串 资产(包括余烬)是从一个公共目录加载的,比如/Assets/你必须声明你是根URL'/',然后在该目录下创建其余的路由/资源。你可以在路由器中动态设置根URL App.Router.reopen({ init: function() { // set rootURL using regex to extract appropria
/:region/:locale/
rootURL
赋值似乎只接受文本字符串
资产(包括余烬)是从一个公共目录加载的,比如
/Assets/
你必须声明你是根URL'/',然后在该目录下创建其余的路由/资源。你可以在路由器中动态设置根URL
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();
});
我能够在实例初始值设定项中实现这一点-我使用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'];
}
};
您是否介意解释一下工作流程,了解一下您对它的期望?
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'];
}
};