Skip to content

Instantly share code, notes, and snippets.

@grapho
Last active January 28, 2016 19:01
Show Gist options
  • Save grapho/6f3eee32d66eef127bde to your computer and use it in GitHub Desktop.
Save grapho/6f3eee32d66eef127bde to your computer and use it in GitHub Desktop.
Contextual Component
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
test: "Foo",
actions: {
doThisFoo() {
alert("foo");
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<h2>Test One</h2>
<p>Passing a component into another.</p>
<p>Also passing in different attrs from a different context.</p>
{{my-component nested-component=(component "other-component" content=test class="jubjub" foo=(action "doThisFoo"))}}
<h2>Test Two</h2>
<p>Yielding a component from another.</p>
<p>Also passing in different attrs from a different context.</p>
{{#yay-component content=test foo=(action "doThisFoo") as |yay|}}
{{yay.yielded-component bar="Baz"}}
{{/yay-component}}
<br>
<br>
import Ember from 'ember';
export default Ember.Component.extend({
bar: "Barrr"
});
{{attrs.nested-component bar=bar class="yayayay"}}
import Ember from 'ember';
export default Ember.Component.extend({
});
<button {{action foo}}>{{content}} {{bar}}</button>
{
"version": "0.5.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.3.0/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.3.0/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.3.0/ember-template-compiler.js"
}
}
import Ember from 'ember';
export default Ember.Component.extend({
});
{{yield (hash yielded-component=(component "other-component" content=content foo=foo))}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment