Skip to content

Instantly share code, notes, and snippets.

@blamens
Created October 18, 2016 16:06
Show Gist options
  • Save blamens/5e6bc494d448ec0ef734c5de396d84a4 to your computer and use it in GitHub Desktop.
Save blamens/5e6bc494d448ec0ef734c5de396d84a4 to your computer and use it in GitHub Desktop.
Computed + Runloop
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
a: Ember.computed('b', 'c', {
get() {
if (this.get('amountOfCalcs') === undefined) {
this.set('amountOfCalcs', 0);
}
else {
this.set('amountOfCalcs', this.get('amountOfCalcs') + 1)
}
return this.get('b') + this.get('c');
}
}),
b: "This is B!",
c: "This is C!",
amountOfCalcs: undefined,
actions: {
startRun(){
Ember.run(() => {
this.set('b', "B is changed!");
this.set('c', "C is changed!");
})
}
}
});
<h1>Welcome to {{appName}}</h1>
<button {{action "startRun"}}>Start run loop!</button>
<br>
{{a}}
<br>
{{amountOfCalcs}}
<br>
<br>
{{outlet}}
<br>
<br>
{
"version": "0.10.5",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.8.0",
"ember-data": "2.8.0",
"ember-template-compiler": "2.8.0",
"ember-testing": "2.8.0"
},
"addons": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment