任何人都可以解释如何在ember
中的不同路线中使用 mixin考虑一个示例我想编写一个方法,它将使用mixin来处理REST API调用。
getData: function() {
return new Promise(function(resolve, reject){
$.ajax({
url: 'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getMakes&year=2010&sold_in_us=1',
type: 'GET',
accepts: 'application/json',
dataType: 'jsonp',
success: function(data) {
resolve(data);
},
error: function() {
reject('DEBUG: GET Enquiries Failed');
}
});
});
}
假设我想在不同的路线中使用此 getData(),什么是最佳解决方案
答案 0 :(得分:1)
如果您使用ember-cli,则可以通过运行ember g mixin my-custom-ajax
来生成mixins,这将在名为app/mixins
的{{1}}下创建一个文件。
在该文件中,您可以按如下方式导出mixin:
my-custom-ajax.js
在实现mixin的路线中,您必须导入并包含它:
import Ember from 'ember';
export default Ember.Mixin.create({
getData() {
return new Promise(function(resolve, reject) {
$.ajax({
url: 'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getMakes&year=2010&sold_in_us=1',
type: 'GET',
accepts: 'application/json',
dataType: 'jsonp',
success: function(data) {
resolve(data);
},
error: function() {
reject('DEBUG: GET Enquiries Failed');
}
});
});
}
});