Skip to content

Instantly share code, notes, and snippets.

@sheriffderek
Last active February 6, 2019 23:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sheriffderek/ce56d1c3da8710cbbe4d18d19ac32f97 to your computer and use it in GitHub Desktop.
Save sheriffderek/ce56d1c3da8710cbbe4d18d19ac32f97 to your computer and use it in GitHub Desktop.
routing example
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'dynamic-segment example'
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
// username: DS.attr('string'),
// name: DS.attr('string'),
// email: DS.attr('string'),
// don't need this...
});
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: 'none',
rootURL: config.rootURL
});
Router.map(function() {
this.route('users', {path: '/'}, function() {
this.route('user', {path: '/:userId'});
});
});
export default Router;
import Ember from 'ember';
export default Ember.Route.extend({
model() {
/*
ideal:
return this.get('store').findAll('user');
but you would align your adapter with the
call to the data -
which I can't figure out how to do
in this fiddle
*/
var userData = [ /* temp example */
{
id: 0,
name: 'Derek',
username: '@sheriffderek',
},
{
id: 1,
name: 'Ivy',
username: '@ivy',
},
];
console.log(userData);
return userData;
},
});
import Ember from 'ember';
export default Ember.Route.extend({
model( {userId} ) {
return this.modelFor('users')[userId];
}
});
<h1>{{appName}}</h1>
{{outlet}}
<h2>Users route:</h2>
{{outlet}}
<ul class='user-list'>
{{#each model as |user|}}
<li class='user'>
<ul class='detail-list'>
{{!--
<li class='detail'>{{user.id}}</li>
<li class='detail'>{{user.username}}</li>
<li class='detail'>{{user.name}}</li>
--}}
<li>
{{#link-to 'users.user' user.id}}
<span>{{user.name}}</span>
{{/link-to}}
</li>
</ul>
</li>
{{/each}}
</ul>
<h3>User:</h3>
{{model.name}}: {{model.username}}
<br><br><br><br>
{{link-to "home" 'application'}}
{
"version": "0.12.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.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment