Skip to content

Instantly share code, notes, and snippets.

import Ember from 'ember';
export default Ember.Controller.extend({
emojis: {
'thumbsup': { image: 'thumbsup.png', text: 'Thumbs up!' },
'heart': { image: 'heart.png', text: 'Love it!' }
}
});
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'button'
});
import Ember from 'ember';
export default Ember.Controller.extend({
posts: Ember.A([
Ember.Object.create({ author: { name: 'steve' } }),
Ember.Object.create({ author: { name: 'jill' } }),
Ember.Object.create({ author: { name: 'andy' } })
]),
authors: Ember.computed.mapBy('posts', 'author'),
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@ryanto
ryanto / components.my-component.js
Last active February 2, 2017 21:52
one way mutable value that resets
import Ember from 'ember';
export default Ember.Component.extend({
didReceiveAttrs() {
this._super(...arguments);
this.set('downstream', this.get('upstream'));
}
});
import Ember from 'ember';
export default Ember.Component.extend({
});
// The home page needs to load a lot of data for a feed of events.
// This would block initial rendering of the application, so what
// we do is make a pathless child route called feed that loads the
// data.
// Since our home route doesn't load data anymore it renders
// immediately. It has an {{outlet}}, and while 'home.feed' is
// fetching data 'home.loading' will be rendered into the
// outlet. Once feed's model hook fulfills the feed template
// is rendered to the outlet.
@ryanto
ryanto / controllers.application.js
Last active August 24, 2016 23:36
commentable-base
import Ember from 'ember';
export default Ember.Controller.extend({
model: null,
text: '',
actions: {
addComment() {
let text = this.get('text');
let comment = this.store.createRecord('comment', { text });
@ryanto
ryanto / controllers.application.js
Last active August 24, 2016 23:46
commentable-mixin
import Ember from 'ember';
export default Ember.Controller.extend({
model: null,
text: '',
actions: {
addComment() {
let text = this.get('text');
let comment = this.store.createRecord('comment', { text });