Skip to content

Instantly share code, notes, and snippets.

@Serabe
Forked from deverin/controllers.application.js
Last active October 16, 2016 19:42
Show Gist options
  • Save Serabe/1034d879c3f24f52429e1e1e4407096a to your computer and use it in GitHub Desktop.
Save Serabe/1034d879c3f24f52429e1e1e4407096a to your computer and use it in GitHub Desktop.
Simple Menu with contextual components
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export default Ember.Component.extend({
expandMenu: false
});
<h1>Simple menu container - PARENT</h1>
<p>expandMenu property is here in component.js</p>
==================================================
{{yield (hash menu=(component "simple-menu" expandMenu=expandMenu))}}
import Ember from 'ember';
export default Ember.Component.extend({
//expandMenu: Ember.computed.alias('parentView.expandMenu'),
// Remove this observer and everything will load again
toggle: Ember.observer('expandMenu', () => {
console.log(this.get('expandMenu'))
}),
// Or this construct too -> Old way
//toggle2: function(){
// console.log(this.get('expandMenu'))
//}.observes('expandMenu')
});
<h3>Simple menu compomponent is here - CHILD</h3>
<p>computed aliases are here pointing to parentView</p>
==================================================
{{yield}}
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
{{#simple-menu-container as |simple|}}
<pre>Rendering inside of simple-menu-container</pre>
{{#simple.menu}}
<pre>content of simple menu compoennt block</pre>
{{/simple.menu}}
{{/simple-menu-container}}
<br>
<br>
{
"version": "0.10.5",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": true,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.8.1",
"ember-data": "2.8.0",
"ember-template-compiler": "2.8.1",
"ember-testing": "2.8.0"
},
"addons": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment