EmberScreencasts 38
ES2015: functions minus 'function'
"Classic" functions
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
save: function() {
var controller = this;
this.get("model").save().then(function(){
controller.transitionToRoute('<%= dasherizedModuleName %>.show')
})
}
}
})
ES2015 functions
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
save() {
this.get("model").save().then(()=>{
this.transitionToRoute('<%= dasherizedModuleName %>.show')
})
}
}
})
//"Classic"
save: function(){}
//ES2015
save(){}
Method declaration
//"Classic"
save: function(arg1){}
//ES2015
save(arg1){}
Method declaration
//"Classic"
var controller = this;
this.save().then(function(){
controller.doThing()
})
//ES2015
this.save().then(()=>{
this.doThing()
})
Anonymous functions
//"Classic"
shouldWearHat: Ember.computed('wind', function(){
return this.get('wind') > 3;
})
//ES2015
shouldWearHat: Ember.computed('wind', ()=>{
return this.get('wind') > 3;
//Oops! 'this' now refers to window
})
//ES2016 + ember-computed-decorators
@computed('wind')
shouldWearHat(){
return this.get('wind') > 3;
}
Classic: still good for something
//"Classic"
shouldWearHat: Ember.computed('wind', function(){
return this.get('wind') > 3;
})
//ES2015
shouldWearHat: Ember.computed('wind', ()=>{
return this.get('wind') > 3;
//Oops! 'this' now refers to window
})
//ES2016 (decorators)
@computed('wind')
shouldWearHat(){
return this.get('wind') > 3;
}
//Yes, I know you can use Ember.computed.gt
Classic: still good for something
export default Ember.Controller.extend({
actions: {
save: function() {
var controller = this;
this.get("model").save().then(function(){
controller.transitionToRoute('<%= dasherizedModuleName %>.show')
})
}
}
})
export default Ember.Controller.extend({
actions: {
save() {
this.get("model").save().then(()=>{
this.transitionToRoute('<%= dasherizedModuleName %>.show')
})
}
}
})
"Classic"
ES2015
Screencast 38- functions minus 'function'
By Jeffrey Biles
Screencast 38- functions minus 'function'
- 1,667