首页 > 在循环列表里,用Vuejs如何做数据的双向绑定(v-model)?

在循环列表里,用Vuejs如何做数据的双向绑定(v-model)?

目的: 单选列表里的某一项被选中时,数据相应地变化; 被取消选择时还原。

对于radio(相同的name组)来说,是选中另外一个radio;

类似地,其他表单元素在循环中,v-model的值如何确定呢,如果安装这种思路。

(见笑,以下代码无法实现,循环中的$index,在v-modle貌似无效)

<ul id="test">
  <li v-for="item in address">
    <label>
      <input type="radio" name="address" v-model="address_$index" value="true" />
      {{address_$index ? "selected" : ""}}
      <!-- 其他数据变化,当被选中或取消 -->
      <span>{{item.name}}</span>
    </label>
  </li>
</ul>
new Vue({
  el: "#test",
  data: {
    "address": [
      { "name": "test#1"},
      { "name": "test#2"},
      { "name": "test#3"},
      { "name": "test#4"}
    ]
  }
})

具体执行效果 见 codepen 代码示例。

另外一个想法是在input上绑定事件,如 v-on:change="selecteItem($index,$event)"

求万能的 给一个思路。


粗略写了个DEMO,不知道是不是你想要的:https://jsfiddle.net/rainwsy/1247s0ow/

【热门文章】
【热门文章】