Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Ember.js中指定动态根URL?_Javascript_Ember.js_Web Applications_Url Routing - Fatal编程技术网

Javascript 如何在Ember.js中指定动态根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

Ember允许在路由器上指定根URL:

是否有一种方法可以指定动态URL,如:
/: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'];

  }
};