首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue更新v-for属性

Vue更新v-for属性
EN

Stack Overflow用户
提问于 2016-09-21 20:35:32
回答 1查看 621关注 0票数 0

假设我从一个啤酒数组中呈现了一个列表,如下所示:

代码语言:javascript
复制
<tr v-for="beer in beers">
    <td class="switch">
        <input v-model="beer.verified" v-on:click="verify">
        <label for="cmn-toggle-{{$index}}"></label>
    </td>
<tr>

当我单击从我的啤酒数组中呈现的列表中的啤酒输入时,我希望在我的beers对象上更新该特定啤酒的验证属性。

我检查了这个事件,但我不知道如何用Vue来处理这件事。

代码语言:javascript
复制
methods: {
    verify: function(event) {
        console.log(event)
    }
},

有人能引导我在正确的方向或工作流程,这样我就可以很容易地更新特定的啤酒属性被点击。

编辑

不要紧。它就像把当前的啤酒传递给验证方法一样简单,如下所示:

代码语言:javascript
复制
v-on:click="verify(beer)"

这允许我操作当前项属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-21 21:05:18

您需要将beer传递给单击处理函数。默认情况下,它接收事件对象,但通常不需要它。相反,您想要处理您的数据。

文献资料给出了传递常量的例子,但是模型变量是公平的(更有可能是使用什么)。下面的示例在每次单击时都会增加verified值。

代码语言:javascript
复制
new Vue({
  el: 'body',
  data: {
    beers: [{
      verified: 0
    }, {
      verified: 0
    }]
  },
  methods: {
    verify: function(beer) {
      ++beer.verified;
    }
  }
});
代码语言:javascript
复制
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js"></script>
<table>
  <tr v-for="beer in beers">
    <td class="switch">
      <input v-model="beer.verified" v-on:click="verify(beer)">
      <label for="cmn-toggle-{{$index}}"></label>
    </td>
    <tr>
</table>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39626122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档