在Ember.JS中,这样做是否有充分的理由:
import Service, { inject } from '@ember/service';
export default Service.extend({
ajax: inject(),
getAll() {
return this.get('ajax').request(`api/users/`, {
method: 'GET',
contentType: 'application/json'
});
}
});
与之相反?
import Service, { inject } from '@ember/service';
export default Service.extend({
ajax: inject(),
getAll() {
return this.ajax.request(`api/users/`, {
method: 'GET',
contentType: 'application/json'
});
}
});
第二种方法看起来更干净的IMO,但是我想知道是否有充分的功能性理由使用.get()而不是直接引用服务。
答案 0 :(得分:9)
未来是this.whateverProperty
。
this.get
是在JS缺乏很多功能并且很多文档尚未更新的时候实现的。
官方余烬指南已经更新:
https://guides.emberjs.com/release/applications/services/#toc_accessing-services
从Ember 3.1开始,您可以在任何地方使用本机getter。