Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save DavidVotrubec/31dfcb7b208eb1348f34d90c98f50bbb to your computer and use it in GitHub Desktop.
Save DavidVotrubec/31dfcb7b208eb1348f34d90c98f50bbb to your computer and use it in GitHub Desktop.
NotifyPropertyChanged
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
myStrings: ['bla', 'asd', 'zzz', 'fgh'],
computedStrings: Ember.computed('myStrings.[]', function() {
return this.get('myStrings')
.map(aString => Ember.String.capitalize(aString));
}),
actions: {
add() {
this.get('myStrings').pushObject('testing');
this.notifyPropertyChange('myStrings');
}
}
});
import Ember from 'ember';
export function sortHelper(params/*, hash*/) {
return params[0].sort();
;
}
export default Ember.Helper.helper(sortHelper);
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
<button {{action 'add'}}>Add</button>
<p>Normal property:</p>
{{#each (sort-helper myStrings) as |string|}}
{{string}}
{{/each}}
<p>Computed property:</p>
{{#each (sort-helper computedStrings) as |string|}}
{{string}}
{{/each}}
<br>
<br>
{
"version": "0.8.1",
"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.5.1",
"ember-data": "2.5.2",
"ember-template-compiler": "2.5.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment