Skip to content

Instantly share code, notes, and snippets.

@GendelfLugansk
Created November 16, 2018 20:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save GendelfLugansk/79c37f3c943dadb3dbb8faafcd716c40 to your computer and use it in GitHub Desktop.
Save GendelfLugansk/79c37f3c943dadb3dbb8faafcd716c40 to your computer and use it in GitHub Desktop.
SO 53344020
import Ember from 'ember';
export default Ember.Component.extend({
line1: "Say Hi!",
line2: "Say Yeah!",
changeAction(newAction) {
switch (newAction) {
case "1":
this.onActionChange(this.action1);
break;
case "2":
this.onActionChange(this.action2);
break;
default:
this.onActionChange(undefined);
break;
}
},
action1: Ember.computed(function(){
const that = this;
return function() {
alert(that.line1);
}
}),
action2: Ember.computed(function(){
const that = this;
return function() {
alert(that.line2);
}
})
});
import Ember from 'ember';
export default Ember.Component.extend({
childishAction() {
if (typeof this.childAction === 'function') {
this.childAction();
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
<h1>Welcome to 53344020-1</h1>
<br>
<br>
{{parent-component}}
<br>
<br>
<select onchange={{action changeAction value="target.value"}}>
<option>Choose something</option>
<option value="1">Action 1</option>
<option value="2">Action 2</option>
</select>
{{child-component onActionChange=(action (mut childAction))}}
<div><button disabled={{unless childAction true false}} onclick={{action childishAction}}>Let's do it!</button></div>
{
"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