我正在根据Robin Ward [ video / 15sec] 下面的模式制作自定义解析器,这是让移动设备在加载“template.hbs”之前先查找“mob_template.hbs”的技巧
App.Resolver = EmberDefaultResolver.extend({
resolveTemplate: function(parsedName){
var t = this._super(parsedName);
if App.mobileActive){
return this._super('mob_' + parsedName) || t;
}
return t;
}
});
但是我使用的是Ember App Kit,它使用了特殊版本的解析器:
我真的不知道那里发生了什么,或者我需要做什么才能产生类似的功能。有人知道吗?
我已经尝试过这样的事情,但它没有得到任何解决:
var App = Ember.Application.extend({
//...
Resolver: Ember.DefaultResolver.extend({
resolve: function(fullName) {
var parsedName = this.parseName(fullName),
resolveMethodName = parsedName.resolveMethodName;
if (!(parsedName.name && parsedName.type)) {
throw new TypeError("Invalid fullName: `" + fullName + "`, must be of the form `type:name` ");
}
if (this[resolveMethodName]) {
if (window.screen_type == 'mobile'){
var resolved = this[resolveMethodName](parsedName + '_mobile');
} else{
var resolved = this[resolveMethodName](parsedName);
}
if (resolved) { return resolved; }
}
return this.resolveOther(parsedName);
},
})
});