Skip to content

Instantly share code, notes, and snippets.

@bendemboski
Forked from ggayowsky/components.my-component.js
Last active October 1, 2018 20:58
Show Gist options
  • Save bendemboski/987462f9cfa3122b58196611fbcb167a to your computer and use it in GitHub Desktop.
Save bendemboski/987462f9cfa3122b58196611fbcb167a to your computer and use it in GitHub Desktop.
New Twiddle
import Component from '@ember/component';
import { computed } from '@ember/object';
export default Component.extend({
setCalls: [], // mea culpa!
prop1: computed({
get() {
return 'Initial Prop1 Value';
},
set(key, value) {
this.setCalls.pushObject(`prop1 -> ${value}`);
console.log(new Error().stack);
return value;
}
}),
prop2: computed({
get() {
return 'Initial Prop2 Value';
},
set(key, value) {
this.setCalls.pushObject(`prop2 -> ${value}`);
return value;
}
})
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
prop1: 'value1',
prop2: 'value2'
});
<h1>Welcome to {{appName}}</h1>
<br>
<button onclick={{action (mut prop1) (concat prop1 ' x')}}>Set prop1</button>
<br>
<button onclick={{action (mut prop2) (concat prop2 ' x')}}>Set prop2</button>
<br>
{{my-component prop1=prop1 prop2=prop2}}
<br>
<br>
prop1: {{prop1}}<br>
prop2: {{prop2}}<br>
<br>
set calls:<br>
{{#each setCalls as |setCall|}}
{{setCall}}<br>
{{/each}}
{
"version": "0.15.0",
"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.2.2",
"ember-template-compiler": "3.2.2",
"ember-testing": "3.2.2"
},
"addons": {
"ember-data": "3.2.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment