Skip to content

Instantly share code, notes, and snippets.

@kumkanillam
Forked from Serabe/controllers.application.js
Last active May 26, 2017 21:04
Show Gist options
  • Save kumkanillam/18abd2fa37a16cafd59ac7ae4e574f07 to your computer and use it in GitHub Desktop.
Save kumkanillam/18abd2fa37a16cafd59ac7ae4e574f07 to your computer and use it in GitHub Desktop.
Live Arrays
import Ember from 'ember';
export default Ember.Component.extend({
store:Ember.inject.service(),
myService:Ember.inject.service(),
init() {
this._super(...arguments);
$.mockjax({
url: '/users',
responseText: {
data: []
}
});
},
/*
model:Ember.computed(function() {
console.log('model')
return this.get('store').findAll('user');
}),
reverseModel:Ember.computed('model.[]',function(){
console.log('reversModel');
return this.get('model').slice(0,5);
}),
*/
actions: {
createNewUser() {
this.get('store').createRecord('user', {
name: this.get('name')
});
this.set('name', '');
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
store: Ember.inject.service(),
actions: {
createNewUser() {
this.get('store').createRecord('user', {
name: this.get('name')
});
this.set('name', '');
}
}
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
name: attr('string')
});
import Ember from 'ember';
export default Ember.Route.extend({
init() {
this._super(...arguments);
$.mockjax({
url: '/users',
responseText: {
data: []
}
});
},
model() {
return this.store.findAll('user');
}
});
import Ember from 'ember';
export default Ember.Service.extend({
store:Ember.inject.service(),
init() {
this._super(...arguments);
$.mockjax({
url: '/users',
responseText: {
data: []
}
});
},
smodel:Ember.computed(function() {
console.log('smodel')
return this.get('store').findAll('user');
}),
sreverseModel:Ember.computed('smodel.[]',function(){
console.log('sreversModel');
return this.get('smodel').slice(0,2);
}),
});
<h1>Welcome to {{appName}}</h1>
{{my-component }}
<br>
<br>
<br>
<br>
{{outlet}}
<h2>Users:</h2>
<ul>
{{#each myService.smodel as |user|}}
<li>{{user.name}}</li>
{{else}}
<li>No users yet</li>
{{/each}}
</ul>
<p>
Name: {{input value=name}}
</p>
<button {{action "createNewUser"}}>
Create New User
</button>
{{#each myService.sreverseModel as |user|}}
<li>{{user.name}}</li>
{{else}}
<li>No users yet</li>
{{/each}}
{{yield}}
{
"version": "0.8.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.5.1",
"ember-data": "2.5.2",
"ember-template-compiler": "2.5.1",
"jquery-mockjax": "https://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.6.2/jquery.mockjax.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment