Skip to content

Instantly share code, notes, and snippets.

@sagaban
Forked from Serabe/application.controller.js
Created June 2, 2016 06:48
Show Gist options
  • Save sagaban/4ad135c051281bbaa7b115cc73d05d1a to your computer and use it in GitHub Desktop.
Save sagaban/4ad135c051281bbaa7b115cc73d05d1a to your computer and use it in GitHub Desktop.
Named Positional Parameters
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
currentBooleanValue: false,
obj: Ember.Object.create({
a: 1,
b: 2,
c: 'perro'
}),
actions: {
toggleIf() {
this.toggleProperty('currentBooleanValue');
return false;
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
{{#my-if currentBooleanValue}}
This is true
{{ else }}
This is false
{{/my-if}}
<button {{action 'toggleIf'}}>
Toggle if
</button>
<br>
<br>
{{#list-properties obj 'a' 'c' 'b'
tagName='div' as |key value|}}
-{{key}}:{{value}}<br>
{{/list-properties}}
import Ember from 'ember';
const { computed } = Ember;
const ListPropertiesComponent = Ember.Component.extend({
object: computed.readOnly('params.firstObject'),
properties: computed(
'params.[]',
{
get() {
let [,...props] = this.get('params');
return props;
}
}
)
});
ListPropertiesComponent.reopenClass({
positionalParams: 'params'
});
export default ListPropertiesComponent;
import Ember from 'ember';
const { computed } = Ember;
const MyIfComponent = Ember.Component.extend({
});
MyIfComponent.reopenClass({
positionalParams: ['predicateValue']
});
export default MyIfComponent;
{{#if predicateValue}}
Yay!
{{yield}}
{{ else }}
😢
{{yield to="inverse"}}
{{/if}}
{{#each properties as |prop|}}
{{yield prop (get object prop)}}
{{/each}}
{
"version": "0.4.17",
"EmberENV": {
"FEATURES": {}
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.2.0/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment