Instantly share code, notes, and snippets.

View controllers.application.js
import { computed, defineProperty } from '@ember/object';
import { later } from '@ember/runloop';
export default Ember.Controller.extend({
init() {
later(() => {
defineProperty(this, 'delayedProperty', computed(() => 'foo'));
this.notifyPropertyChange('delayedProperty');
}, 2000);
},
View components.test-component.js
import Ember from 'ember';
import { computed, get } from '@ember/object';
export default Ember.Component.extend({
baz: computed('foo', {
get() {
alert(get(this, 'foo'));
}
})
});
View controllers.application.js
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
count: 4,
rawCount: 4,
actions: {
update(value) {
if (value > 999) {
this.set('count', 999);
View controllers.application.js
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
// Broken on 2.10.2
// Works as expected on 2.9.1
View controllers.application.js
import Ember from 'ember';
export default Ember.Controller.extend({
appName: '#15545',
aliased: Ember.computed.alias('appName'),
init() {
this._super(...arguments);
console.log('before:', this.cacheFor('aliased'));
console.log('get:', this.get('aliased'));
View controllers.application.js
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'https://github.com/emberjs/ember.js/issues/15842'
});
View components.my-component.js
import Ember from 'ember';
export default Ember.Component.extend({
// Comment out below to work around
target: 'body',
actions: {
buttonClick() {
this.sendAction('onClick');
}
View controllers.application.js
import Ember from 'ember';
const values = [
0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
];
export default Ember.Controller.extend({
sliderIndex: 1,
values: Ember.computed('sliderIndex', function() {
View controllers.application.js
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
View controllers.application.js
import Ember from 'ember';
export default Ember.Controller.extend({
shouldBeHidden:'Without space: This shouldn\'t get unbounded',
shouldBeHiddenToo:'With space: This shouldn\'t get unbounded',
});