Skip to content

Instantly share code, notes, and snippets.

@veberle-CSD
Last active July 17, 2018 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save veberle-CSD/089408b05142fc5451c893e1d442f503 to your computer and use it in GitHub Desktop.
Save veberle-CSD/089408b05142fc5451c893e1d442f503 to your computer and use it in GitHub Desktop.
New Twiddle
import Component from '@ember/component';
import { computed } from '@ember/object';
import { copy } from '@ember/object/internals';
export default Component.extend({
data: null,
dataWithExtra: computed('data.{a,b,c}', {
get() {
let newData = copy(this.get('data'));
newData['d'] = 'four';
return newData;
}
}),
actions: {
updateA(value) {
this
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
data: {
a: 'one',
b: 'two',
c: 'three'
},
actions: {
updateData() {
this.set('data', {
a: 'four',
b: 'five',
c: 'six'
});
},
updateJustA() {
this.set('data.a', 'new updated A!');
}
}
});
<h1>Welcome to {{appName}}</h1>
{{data.a}}
<br>
<br>
{{data.b}}
<br>
<br>
{{data.c}}
<br>
<br>
{{my-component data=data}}
<br>
<br>
<button {{action "updateData"}}>Update Data</button>
<button {{action "updateJustA"}}>Update Just A</button>
{{input type="text" value=dataWithExtra.a on-input=(mut dataWithExtra.a)}}
{
"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