Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save greyhwndz/c9ec6522166f4c9674255db824bedff9 to your computer and use it in GitHub Desktop.
Save greyhwndz/c9ec6522166f4c9674255db824bedff9 to your computer and use it in GitHub Desktop.
QP Service
import Ember from 'ember';
export default Ember.Controller.extend({
paramsService: Ember.inject.service('params'),
appName: 'Ember Twiddle',
queryParams: ['theme'],
theme: 'bye',
counter: 0,
init() {
this._super(...arguments);
var paramsService = this.get('paramsService');
paramsService.subscribe('theme', theme => this.set('theme', theme));
},
actions: {
updateTheme() {
var paramsService = this.get('paramsService');
var counter = this.incrementProperty('counter');
paramsService.setParam('theme', `hi${counter}`);
}
}
});
import Ember from 'ember';
const map = new Map();
export default Ember.Service.extend({
setParam(name, val) {
this.set(name, val);
if (map.has(name)) {
let cb = map.get(name);
cb(val);
}
},
subscribe(name, cb) {
map.set(name, cb);
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
<br>
<br>
<button type="button" {{action 'updateTheme'}}>Test</button><br>
{{theme}}
{
"version": "0.7.2",
"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.4.4",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.4.3/ember-data.js",
"ember-template-compiler": "2.4.4"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment