我有一个www.example.com域名,我需要它来使URL友好。该域名必须是多语言,如下所示:
http://{language}.example.com/restufullurls
如何在Backbone / Marrionette中实现,仅使用路线?
答案 0 :(得分:2)
首先在某处创建一个配置文件:
var config = {
lang: 'en',
domain: 'example.com'
};
然后创建一个基本模型,重写所有模型的url。这样做是通过在配置文件中附加正确的URL来重写您在模型中指定的URL:
var BaseModel = Backbone.Model.extend({
initialize: function(){
this.url = 'http://' + config.lang + '.' + config.domain + '/' + this.url;
}
});
然后,每当您需要新模型时,您可以扩展基础
var SomeModel = BaseModel.extend({
url: 'some/rest/url'
});
如果您需要切换语言,请执行
config.lang = 'new-language';
如果您想使用与提供文件相同的URL,请执行以下操作:
var BaseModel = Backbone.Model.extend({
initialize: function(){
this.url = window.location.origin + '/' + this.url;
}
});