Skip to content

Instantly share code, notes, and snippets.

@dfreeman
Last active December 21, 2016 01:25
Show Gist options
  • Save dfreeman/66e5e9b8f0e5efd2f0f2758a57854e59 to your computer and use it in GitHub Desktop.
Save dfreeman/66e5e9b8f0e5efd2f0f2758a57854e59 to your computer and use it in GitHub Desktop.
action issue
import Ember from 'ember';
export default Ember.Component.extend({
message: Ember.computed('computeMessage', function() {
return this.get('computeMessage')();
}),
actions: {
trigger() {
alert(this.get('computeMessage')());
alert(this.get('message'));
}
}
});
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
computeMessage: computed(() => (greeting) => 'none'),
actions: {
updateComputation(name) {
this.set('computeMessage', (greeting) => `${greeting}, ${name}`);
}
}
});
<button onclick={{action 'updateComputation' 'a'}}>A</button>
<button onclick={{action 'updateComputation' 'b'}}>B</button>
{{my-component computeMessage=(action computeMessage 'Hello')}}
<button onclick={{action 'trigger'}}>Trigger</button>
{
"version": "0.10.7",
"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.10.1",
"ember-data": "2.10.0",
"ember-template-compiler": "2.10.1",
"ember-testing": "2.9.1"
},
"addons": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment