Skip to content

Instantly share code, notes, and snippets.

@chadhietala
Forked from golampo/controllers.application.js
Last active August 7, 2019 20:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save chadhietala/31396d2782447981ead297c04d42d852 to your computer and use it in GitHub Desktop.
Save chadhietala/31396d2782447981ead297c04d42d852 to your computer and use it in GitHub Desktop.
Workspace routing - v1
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import EmberRouter from '@ember/routing/router';
import config from './config/environment';
const Router = EmberRouter.extend({
location: 'none',
rootURL: config.rootURL
});
Router.map(function() {
this.route('video', { path: '/video/:videoId' });
this.route('course', { path: '/course/:courseId' }, function() {
this.route('video', { path: '/video/:videoId' });
});
});
export default Router;
import Ember from 'ember';
import VideoRoute from '../video';
export default VideoRoute.extend({
pageKey: 'p_course_video'
});
import Ember from 'ember';
export default Ember.Route.extend({
templateName: 'video',
pageKey: 'p_video',
model({ videoId }, { params }) {
return {
videoId,
pageKey: this.pageKey,
courseId: params.course ? params.course.courseId : null
}
}
});
<p>Example showing different canonical links that resolve to a single route (workspace).</p>
<ul>
<li>{{#link-to "video" "123"}}/video/123{{/link-to}}</li>
<li>{{#link-to "course.video" "789" "987"}}/course/789/video/987{{/link-to}}</li>
</ul>
{{outlet}}
<p>Resolved to the workspace route</p>
<p>
<b>videoId:</b> {{model.videoId}}<br>
<b>courseId:</b> {{model.courseId}}<br>
<b>pageKey:</b> {{model.pageKey}}<br>
</p>
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment