Skip to content

Instantly share code, notes, and snippets.

import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
import { computed } from '@ember/object';
let count = 0;
export default Ember.Component.extend({
count: computed('value', () => count++),
value: computed({
get() {
{{! calling side }}
<Tabs>
<:tab name="index.js">
<Snippet name="2-mirage-index" />
<:/tab>
<:tab name="App.js">
<Snippet name="2-mirage-app" />
<:/tab>
</Tabs>
import Ember from 'ember';
const foo = Ember.computed({
get() { return 'foo'; },
set(key, value) { return value; },
});
class MyClass {}
Ember.defineProperty(MyClass.prototype, 'foo', foo);
@pzuraq
pzuraq / -helpers-with-injections.js
Created March 13, 2019 06:44
helpers-with-injections
// Helper that has the router service injected as the first parameter. Benefits:
//
// 1. Still stateless, all state is owned by the service, so no possibility of bugs due to statefulness of the instance
// 2. Much easier to write, less boilerplate
// 3. Subjectively easier to read
//
function routeActive(router, [routeName]) {
return router.isActive(routeName);
}
class Foo {
  @tracked bar;

  get baz() {
    return this.bar;
  }
}

let foo = new Foo();
@pzuraq
pzuraq / _before.png
Last active January 28, 2019 15:49
Weird Chrome Perf Bug
_before.png
/**
* @module ember-paper
*/
/* globals FastBoot */
import { inject as service } from '@ember/service';
import Component from '@ember/component';
import { computed } from '@ember/object';
import { run } from '@ember/runloop';
import TransitionMixin from 'ember-css-transitions/mixins/transition-mixin';
import { invokeAction } from 'ember-invoke-action';
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
foo: 0,
updateFoo() {
this.incrementProperty('foo')
}
@pzuraq
pzuraq / components.my-component.js
Last active November 28, 2018 16:03
New Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
});