goofiw
goofiw

Reputation: 607

accessing dynamic input values in ember #each block in ember

I'm having issues accessing input values within my component. I'm trying to dynamically create value bindings in my templates and accessing in the conponent.js file using this.controller.get("pst"+id) however the result is underfined. Using Ember 2.2

{{#each post in |pst idx|}}
    {{input value=(concat 'pst' idx)}}
{{/each}}

Upvotes: 0

Views: 404

Answers (2)

ykaragol
ykaragol

Reputation: 6221

Define a computed property that wraps your 'post' variable in your component.js file. Iterate over that wrapper. I think this is a powerful way of generating dynamic values.

Your template:

{{#each postWrappers as postWrapper}}
    {{input value=postWrapper.value}}
{{/each}}

Your component.js:

postWrappers : Ember.computed('post', function() { 
   //your concat code
});

Upvotes: 0

Lux
Lux

Reputation: 18240

Well, it works as expected, but why would you want to do this?

Please explain what you want to archive and then we can help better.

And to be clear, a value generated with the get helper is immutable.

Why not do something like {{input value=pst}}? If this is not an option probably you should build your array in JS and use that then in handlebars!

Upvotes: 0

Related Questions