javascript - computed property that changes its value with action in Ember.js -
i have controller has action {{loadright}} passes current model controller when click button.
when first load app, use firstelement computed property pulls first element model array.
basically want create second computed property return current model that's clicked can use information in template.
i created currentelement computed property since suck @ javascript couldn't pass current model action method computed property. keep getting model not defined error.
i appreciate help. below controller.
// controller works.js import ember "ember"; export default ember.controller.extend({ firstelement: function () { return this.get('model.firstobject'); }.property('model.[]'), currentelement: function () { if(!currentmodel) { currentmodel = this.get('model.firstobject'); } return currentmodel; }.property('model.[]'), actions: { loadright: function (currentelement) { console.log(currentelement); } }});
you define property selectedelement
(that's clicked). when loadright
fired set selectedelement
selection
. currentelement
simple computed property, depends on model.firstobject
, selectedelement
.
export default ember.controller.extend({ firstelement: function () { return this.get('model.firstobject'); }.property('model.[]'), selectedelement: null, currentelement: function () { return (this.get('selectedelement') || this.get(`firstelement`)); }.property('firstelement', 'selectedelement'), actions: { loadright: function (selection) { this.set('selectedelement', selection); return false; // or transition logic } } });
Comments
Post a Comment