Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save n1ru4l/209edf1f9c3a7cabcf4f8a35ea141700 to your computer and use it in GitHub Desktop.
Save n1ru4l/209edf1f9c3a7cabcf4f8a35ea141700 to your computer and use it in GitHub Desktop.
array not updating
import Ember from 'ember';
const {
Component,
on,
computed,
A: EArray,
} = Ember;
export default Component.extend({
answers: null,
checkedAnswers: null,
onInit: on(`init`, function () {
const checkedAnswers = EArray([])
this.set(`checkedAnswers`, checkedAnswers)
}),
actions: {
toggleStatus(answer) {
const checkedAnswers = this.get(`checkedAnswers`)
if (checkedAnswers.includes(answer)) {
checkedAnswers.removeObject(answer)
return
}
checkedAnswers.pushObject(answer)
console.log(checkedAnswers)
}
}
});
import Ember from 'ember';
const {
A: EArray,
} = Ember;
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
answers: EArray([
{ id: 1, value: `Tomato` },
{ id: 2, value: `Oranges` },
{ id: 3, value: `Pineapple` },
{ id: 4, value: `Sushi` },
])
});
import Ember from 'ember'
export function inArray([object, array]/*, hash*/) {
return array.includes(object)
}
export default Ember.Helper.helper(inArray)
{{some-component
answers=answers
}}
{{#each answers as |answer|}}
{{#paper-checkbox
value=(inArray answer checkedAnswers)
onChange=(action "toggleStatus" answer)
}}
{{answer.value}}
{{/paper-checkbox}}
{{/each}}
{
"version": "0.12.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.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1",
"ember-paper": "1.0.0-alpha.19"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment