Skip to content

Instantly share code, notes, and snippets.

@rwjblue
Last active October 16, 2015 14:27
Show Gist options
  • Save rwjblue/cf43ae7123386704155c to your computer and use it in GitHub Desktop.
Save rwjblue/cf43ae7123386704155c to your computer and use it in GitHub Desktop.
Simple Router Service
import Ember from 'ember';
import log from '../utils/log';
export default Ember.Route.extend({
actions: {
error: function(error) {
log(error.message);
},
updateFooBar() {
log(...arguments);
}
}
});
<h1>rwjblue's Ember Twiddle</h1>
{{outlet}}
{{foo-bar}}
<pre id="logs"></pre>
import Ember from 'ember';
export default Ember.Component.extend({
router: Ember.inject.service(),
actions: {
goAway() {
this.get('router').transitionTo('bar');
}
}
});
<button {{action 'goAway'}}>Update!</button>
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.route('bar');
});
export default Router;
import Ember from 'ember';
export default Ember.Service.extend({
init() {
this._super(...arguments);
this.router = this.container.lookup('router:main');
},
transitionTo() {
return this.router.transitionTo(...arguments);
},
send() {
return this.router.send(...arguments);
}
});
{
"version": "0.4.13",
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "http://builds.emberjs.com/canary/ember.debug.js",
"ember-template-compiler": "http://builds.emberjs.com/canary/ember-template-compiler.js"
}
}
import Ember from 'ember';
export default function log(...args) {
let msg = args.join(' ');
let logs = document.getElementById('logs');
logs.insertBefore(
document.createTextNode("\n" + msg),
logs.firstChild
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment