How to two-way bind iron-input to dom-repeat's item?

3.2k views Asked by At

I just started playing with Polymer 1.0 and am trying to do a very simple binding to collection. I am able to display text within dom-repeat, but the two-way binding to iron-input does not work. I tried array of strings, and objects. No luck.

<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/iron-input/iron-input.html">

<dom-module id="hello-world">
  <template>
    <ul>
      <template is="dom-repeat" items="{{data}}">
        <li>{{item.value}}</li>
      </template>
    </ul>

    <ul>
      <template is="dom-repeat" items="{{data}}">
        <li><input is="iron-input" bind-value="{{item.value}}"></input></li>
      </template>
    </ul>

  </template>
</dom-module>

<script>
  Polymer({
    is: "hello-world",

    ready: function() {
        this.data = [
          { value: "Hello"  },
          { value: "World!" }
        ];
    }
  });
</script>
1

There are 1 answers

2
Doan On BEST ANSWER

Change to: value="{{item.value::input}}" See here: http://plnkr.co/edit/QWdCk7ReXxtdKndwPdqq