Skip to content

Instantly share code, notes, and snippets.

@seanjohnson08
Created January 22, 2019 22:29
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save seanjohnson08/1a1106a77dd158e93a15468c61d7f068 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
import EmberObject, {
observer
} from '@ember/object';
export default Ember.Component.extend({
alertWhenMultipleOfFive: observer('observable.progress', function() {
if (this.get('observable.progress') % 5 === 0) {
alert('Child says progress was a multiple of 5!');
}
})
});
import Ember from 'ember';
export default Ember.Component.extend({
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
init() {
this.set('observable', Ember.Object.create({
progress: 0
}));
},
actions: {
increaseProgress() {
this.incrementProperty('observable.progress');
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<button {{action "increaseProgress"}}>Increase progress</button>
{{parent-component observable=observable}}
<br>
<br>
Child receives value: {{observable.progress}}
Parent receives value: {{observable.progress}}
{{child-component observable=observable}}
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment