Skip to content

Instantly share code, notes, and snippets.

@olegdovger
Last active April 5, 2018 10:37
Show Gist options
  • Save olegdovger/1704a5e4c5538c10f815ed5731a3d940 to your computer and use it in GitHub Desktop.
Save olegdovger/1704a5e4c5538c10f815ed5731a3d940 to your computer and use it in GitHub Desktop.
rewrite computed property
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
param1: '1',
param2: '2',
obj: Em.Object.create({
p1: 23,
p2: 34
}),
prop1: Em.computed('param1', 'param2', {
get() {
return this.get('param1') + ' : ' + this.get('param2');
},
set(_, value) {
return value;
}
}),
prop2: Em.computed('param1', 'param2', function() {
return this.get('param1') + ' - ' + this.get('param2');
}),
prop3: null,
observerProp3: Em.observer('obj.{p1,p2}', function () {
this.set('prop3', this.get('obj.p1') + ' , ' + this.get('obj.p2'));
})
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
{{input value=param1}}
{{input value=prop1}}
{{input value=prop2}}
<br>
{{prop1}} - ok
<br>
{{prop2}} - fail
<br>
{{input value=obj.p1}}{{input value=obj.p2}} {{input value=prop3}}
{{obj.p1}} - {{obj.p2}}
{
"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