0

Robin Ward [ビデオ / 15 秒] の以下のパターンに基づいてカスタム リゾルバを作成しています。これは、モバイル デバイスに「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);
          },
  })
});
4

1 に答える 1