Skip to content

Instantly share code, notes, and snippets.

@jasonmit
Created June 4, 2018 00:39
Show Gist options
  • Save jasonmit/ce6c10a1fb8cb13a60e4cecb89598908 to your computer and use it in GitHub Desktop.
Save jasonmit/ce6c10a1fb8cb13a60e4cecb89598908 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
const { computed } = Ember;
function comp() {
const args = Array.from(arguments);
const cb = args.pop();
const keys = args.slice();
args.push(function(key) {
const hash = keys.reduce((accum, key) => {
accum[key] = this.get(key);
return accum;
}, {});
return cb.call(this, key, hash);
});
return computed.apply(this, args);
}
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
count: 0,
computedCount: comp('count', (key, { count }) => `There are ${count}`),
actions: {
increment() {
this.incrementProperty('count');
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<button {{action 'increment'}}>+</button>
{{computedCount}}
<br>
<br>
{
"version": "0.13.1",
"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.16.2",
"ember-template-compiler": "2.16.2",
"ember-testing": "2.16.2"
},
"addons": {
"ember-data": "2.16.3"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment