utilizzando [email protected]
e [email protected]
.babel sta esportando "questo" come non definito nella proprietà calcolata su ember
Fonte emberjs modello
export default DS.Model.extend({
name: DS.attr('string'),
displayName : Ember.computed('name',() => {
return this.get('name');
})
});
Tradotto modello
'use strict';
var _this = undefined;
exports['default'] = DS['default'].Model.extend({
name: DS['default'].attr('string'),
displayName: Ember.computed('name', function() {
return _this.get('name'); //at this point _this is undefined
})
});
Il guaio è che non è mai _this impostare il modello. Perché è così?
così mi cuciture che si può usare solo la nuova costruzione di una freccia quando si trova all'interno di una funzione. Avrei pensato che "questo" si riferisce all'oggetto genitore in entrambi i casi. – jax
'() => {}' === 'function() {} .bind (this)' nel tuo caso 'this' ===' indefinito', non esiste ancora un oggetto padre, stai passando un oggetto di opzioni per 'DS.Model' l'istanza' DS.Model' non è stata ancora creata. –
Si usa sempre la freccia grossa quando si desidera preservare il contesto o quando il contesto non ha importanza (ragioni estetiche) –