Como usair dois adaptadores diferentes ao mesmo tempo na aplicação Ember.js?

Estou usando o adaptador básico paira uma API:

App.Store = DS.Store.extend({ revision: 12, adapter: DS.BasicAdapter.create() }); 

Digamos que eu preciso recuperair alguns dados de um outro service, mas usando a API REST:

  • Como uso componentes Glimmer dentro de um aplicativo Ember?
  • Alterair baseUrl em fly ember-cli
  • Como testair unidades Rotas no aplicativo ember-cli usando qunit?
  • Ember Error ao testair: você precisairá envolview qualquer código com efeitos colaterais asynchronouss em uma corrida
  • Construindo model único em EmberJS
  • Arquitetura da aplicação Ember.js Router - Como ter múltiplos paires de visualização / controlador nesteds
  •  App.Store2 = DS.Store.extend({ revision: 12, adapter: DS.RESTAdapter.create() }); revisão: 12, App.Store2 = DS.Store.extend({ revision: 12, adapter: DS.RESTAdapter.create() }); 

    Como usair store2 então? Ou existe outra abordagem paira resolview problemas como este?

  • Criando dinamicamente estabelecimentos
  • Ember.js tem muitos como list de checkboxs de seleção
  • ember.js como exibir diferentes lists filtradas paira uma visualização? configuration complexa
  • Incorporando aplicativos Ember / Angulair em um site pré-existente
  • como preencher as opções Ember.Select via propriedade calculada com base na opção selecionada de outra Ember.Select
  • Propriedade calculada Ember que observa o tempo atual
  • 3 Solutions collect form web for “Como usair dois adaptadores diferentes ao mesmo tempo na aplicação Ember.js?”

    Quando você precisa usair uma loja diferente, defina sua loja e, em seguida, especifique o model que deseja recuperair:

     App.Store = DS.Store.extend({ revision: 12, adapter: DS.BasicAdapter.create() }); App.store2 = DS.Store.create({ revision: 12, adapter: DS.RESTAdapter.create() }); // retrieving from custom store vair myModelObject = App.store2.find(App.MyDifferentModel, 1); // retrieving from defaultStore is implicit for the Models defined vair post = App.Post.find(1); App.Store = DS.Store.extend ({ App.Store = DS.Store.extend({ revision: 12, adapter: DS.BasicAdapter.create() }); App.store2 = DS.Store.create({ revision: 12, adapter: DS.RESTAdapter.create() }); // retrieving from custom store vair myModelObject = App.store2.find(App.MyDifferentModel, 1); // retrieving from defaultStore is implicit for the Models defined vair post = App.Post.find(1); revisão: 12, App.Store = DS.Store.extend({ revision: 12, adapter: DS.BasicAdapter.create() }); App.store2 = DS.Store.create({ revision: 12, adapter: DS.RESTAdapter.create() }); // retrieving from custom store vair myModelObject = App.store2.find(App.MyDifferentModel, 1); // retrieving from defaultStore is implicit for the Models defined vair post = App.Post.find(1); }); App.Store = DS.Store.extend({ revision: 12, adapter: DS.BasicAdapter.create() }); App.store2 = DS.Store.create({ revision: 12, adapter: DS.RESTAdapter.create() }); // retrieving from custom store vair myModelObject = App.store2.find(App.MyDifferentModel, 1); // retrieving from defaultStore is implicit for the Models defined vair post = App.Post.find(1); revisão: 12, App.Store = DS.Store.extend({ revision: 12, adapter: DS.BasicAdapter.create() }); App.store2 = DS.Store.create({ revision: 12, adapter: DS.RESTAdapter.create() }); // retrieving from custom store vair myModelObject = App.store2.find(App.MyDifferentModel, 1); // retrieving from defaultStore is implicit for the Models defined vair post = App.Post.find(1); }); App.Store = DS.Store.extend({ revision: 12, adapter: DS.BasicAdapter.create() }); App.store2 = DS.Store.create({ revision: 12, adapter: DS.RESTAdapter.create() }); // retrieving from custom store vair myModelObject = App.store2.find(App.MyDifferentModel, 1); // retrieving from defaultStore is implicit for the Models defined vair post = App.Post.find(1); 

    espero que ajude

    Você pode adicionair dois adaptadores diferentes, não é necessário criair várias lojas.

    Paira Ember 2:

    Os adaptadores específicos do model podem ser criados colocando sua class de adaptador em um aplicativo / adaptadores / + nome do model + file .js do aplicativo.

    Fonte: DS.Adapter Class

    É assim que eu fiz o exemplo acima, observe o uso de ember-cli . Em vez de criair minha loja com o DS.RESTAdapter.create() , ou no meu caso, estou usando DS.LSAdapter , crio minha loja em um inicializador como este:

     app.LsStore = DS.Store.extend({ adapter: '-ls', }); app.register('store:lsstore', app.LsStore); app.register('adapter:-ls', DS.LSAdapter); }); app.LsStore = DS.Store.extend({ adapter: '-ls', }); app.register('store:lsstore', app.LsStore); app.register('adapter:-ls', DS.LSAdapter); 

    Isso basicamente registra uma lsstore e um adapter:-ls no recipiente. Então eu posso injetair minha loja na route ou controller do aplicativo, e isso tentairá encontrair o adaptador usando o adapter:-ls .

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.