gpt4 book ai didi

javascript - 在 Ember.js 中,如何从 App.Router 获取 rootURL?

转载 作者:行者123 更新时间:2023-12-03 12:10:59 25 4
gpt4 key购买 nike

如何获取 Controller 中 App.Router 中的 rootURL 以在 JSON 请求中使用?

如果我指定这样的 rootURL:

App.Router.reopen({
rootURL: '/site1/'
});

我希望能够做这样的事情:

FooController = Ember.ObjectController.extend({
needs: ["application"],
actions: {
examine: function() {
var rootURL = this.get('controllers.application.router.rootURL');
$.getJSON(rootURL + "/examine/" + id).then(function(response) {
// do stuff with response
});
}
}
});

最佳答案

路由器被注入(inject)到所有路由上,您可以将该操作移至路由并从中获取路由器。

FooRoute = Ember.Route.extend({
actions: {
examine: function() {
var rootURL = this.get('router.rootURL');
$.getJSON(rootURL + "/examine/" + id).then(function(response) {
// do stuff with response
});
}
}
});

或者您可以在路由设置 Controller 时将属性添加到 Controller 。

FooRoute = Ember.Route.extend({
setupController: function(controller,model){
this._super(controller, model);
controller.set('rootURL', this.router.rootURL);
}
});

示例:http://emberjs.jsbin.com/tomuhe/1/edit

关于javascript - 在 Ember.js 中,如何从 App.Router 获取 rootURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com