Ember.js 对于util类来说,这是一个很好的用例吗?
我有相同的Ember.js 对于util类来说,这是一个很好的用例吗?,ember.js,ember-cli,Ember.js,Ember Cli,我有相同的Ember.$ajax调用在我的Ember应用程序的多个位置使用。我选择使用util类: export default function updateImage(model, token, imageUrl) { return Ember.$.ajax({ url: `api/v1/${Ember.Inflector.inflector.pluralize(model.get('constructor.modelName'))}/${model.get('id')}/upd
Ember.$ajax
调用在我的Ember应用程序的多个位置使用。我选择使用util
类:
export default function updateImage(model, token, imageUrl) {
return Ember.$.ajax({
url: `api/v1/${Ember.Inflector.inflector.pluralize(model.get('constructor.modelName'))}/${model.get('id')}/update-image`,
type: 'PUT',
headers: {
// Used in staging and production
// In Development, this will send with an empty value. API ignores this header in development anyways
'X-CSRF-TOKEN': Ember.$('meta[name="csrf-token"]').attr('content'),
Authorization: `Token ${token }`
},
data: {
data: {
attributes: {
'image-url': imageUrl
}
}
}
})
}
然后在控制器/路由中,我可以执行以下操作:
updateImage(user, this.currentSession.get('token'), imageUrl)
.success(response => {
user.set('imageUrl', response['users']['image-url']);
this.flashService.generic('Saved image!');
})
.error(response => {
console.log(response);
});
这是
util
类的良好用途吗?我可以进一步重构它吗?或者我应该考虑其他的模式吗?mixin是否更适合这种逻辑?这是一个非常好的用例。它是一种单一、通用的方法,可以在整个应用程序中使用。如果您需要在许多地方使用更相似、相关的方法,或者您想要拆分updateImage
函数以获得更好的抽象,那么您应该切换到Mixin
,但现在,一切都好了