Skip to content

Instantly share code, notes, and snippets.

@e00dan
Last active September 19, 2015 08:42
Show Gist options
  • Save e00dan/5f3a1cceeda23ecf5da1 to your computer and use it in GitHub Desktop.
Save e00dan/5f3a1cceeda23ecf5da1 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
theService: Ember.inject.service('theservice'),
actions: {
buttonClicked() {
this.get('theService').emitButtonClicked();
}
}
});
<br>
<br>
<button {{action 'buttonClicked'}}>Global Button</button>
<br>
<br>
{{outlet}}
{{link-to 'Go to first route' 'first-route'}}
<br/>
{{link-to 'Go to second route' 'second-route'}}
import Ember from 'ember';
export default Ember.Route.extend({
});
First component:
{{my-component}}
Second component:
{{my-component}}
import Ember from 'ember';
export default Ember.Component.extend({
theService: Ember.inject.service('theservice'),
doSomethingWithInput() {
this.set('randomProperty', true);
console.log('Do something with input value: ' + this.get('inputVal'));
},
subscribeToService: Ember.on('init', function() {
this.get('theService').on('buttonClicked', this, this.doSomethingWithInput);
}),
unsubscribeToService: Ember.on('willDestroyElement', function () {
this.get('theService').off('buttonClicked', this, this.doSomethingWithInput);
})
});
{{input type='text' value=inputVal}}
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.route('first-route');
this.route('second-route');
});
export default Router;
import Ember from 'ember';
export default Ember.Route.extend({
});
First component:
{{my-component}}
Second component:
{{my-component}}
import Ember from 'ember';
export default Ember.Service.extend(Ember.Evented, {
emitButtonClicked() {
console.log('EmitButtonClicked');
this.trigger('buttonClicked');
}
});
{
"version": "0.4.10",
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.13.9/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/1.13.11/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.13.9/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment