我对emberjs很新,但到目前为止还很喜欢它。
我已经使用ember-data连接并与REST API进行通信
App.ApplicationAdapter = DS.RESTAdapter.extend({ host: '...' });
到目前为止一切顺利。但是,当我需要在同一个应用程序的过程中与多个主机通信时,会发生什么?
我猜我可以创建第二个适配器和第二个商店,然后指定每个商店使用哪个适配器?这是首选的方法,还是有不同的清洁方法来解决这个问题?
你能提供一个例子:
提前感谢您的时间。
答案 0 :(得分:3)
你不会使用不同的商店,你只需要使用不同类型的不同主机。
App.ApplicationAdapter = DS.RestAdapter.extend({ host: 'foo'});
App.ColorsAdapter = DS.RestAdapter.extend({ host: 'bar'});
或者如果你在一个主机上有过多的话,而在另一个主机上有过多的话。
App.FooAdapters = DS.RestAdapter.extend({ host: 'foo'});
App.ColorsAdapter = App.FooAdapters.extend();
答案 1 :(得分:2)
如果您需要基于每个模型访问单独的主机,则可以指定每个型号的适配器:
App.Post = DS.Model.extend({
// ...
});
App.PostAdapter = DS.RESTAdapter.extend({
// ...
});
当您使用App.PostAdapter
时,Ember会自动使用App.Post
。