Per*_*ddy 5 javascript ember.js ecmascript-6 ember-cli
在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'
});
}
});
Run Code Online (Sandbox Code Playgroud)
相对于此?
import Service, { inject } from '@ember/service';
export default Service.extend({
ajax: inject(),
getAll() {
return this.ajax.request(`api/users/`, {
method: 'GET',
contentType: 'application/json'
});
}
});
Run Code Online (Sandbox Code Playgroud)
第二种方法看起来更干净IMO,但是我想知道是否有充分的功能理由使用.get()而不是直接引用服务。
未来是this.whateverProperty。
this.get 是在JS缺少很多功能并且很多文档尚未更新的时候实现的。
官方余烬指南已经更新:
https://guides.emberjs.com/release/applications/services/#toc_accessing-services
从Ember 3.1开始,您可以在任何地方使用本机getter。