简体   繁体   中英

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}}

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!

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
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM