Skip to content

Instantly share code, notes, and snippets.

@spovich
Created September 10, 2015 16:27
Show Gist options
  • Save spovich/794c45d809495982ba86 to your computer and use it in GitHub Desktop.
Save spovich/794c45d809495982ba86 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Set/Get CP init issue?',
});
<h1>{{appName}}</h1>
<br>
<br>
{{my-component}}
import Ember from 'ember';
const width = 10;
export default Ember.Component.extend({
height: null,
width: width,
area: Ember.computed('height', {
get(key) {
return this.get('height') * width;
},
set(key, value) {
this.set('height', value/width);
},
}),
setup: Ember.on('init', function() {
this.set('area', 100);
console.log('>>> height is changed to 10:', this.get('height'));
console.log('>>> but area should be 100 but is undefined:', this.get('area'));
this.set('height', 11);
console.log('>>> area after mutating height', this.get('area'));
}),
});
height: {{height}}
<br>
width: {{width}}
<br>
area: {{area}}
<br>
<br>
Check the console and note that 'area' is undefined after 'setting' it.
{
"version": "0.4.10",
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.13.9/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/1.13.11/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.13.9/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment