VueJS - 在 v-for 循环中触发一个方法
VueJS - Fire a method in a v-for loop
好的...
在 VueJS 中,我正在运行一个 v-for 来列出几个项目。例如:
v-for="item in cart"
Bananas - 1 dollar - Yellow
Apples - 2 dollar - Pink
Grapes - 1.5 dollar - Green
在列出这些项目时,每个项目都有一个文本框,我可以在其中输入注释。问题是,我不想将此注释保存在购物车中的项目对象中。我想将这些笔记保存在另一个 Vue 数据对象(笔记)中。保留对原始项目的引用会很棒,但这不是必需的。
我认为用一种方法使这成为可能会很好。但是我不想在每个生成的列表项上运行此方法。所以我的问题:
如何在运行 v-for 循环时自动触发 Vue 方法?(没有即@click)
这并不能回答您的特定问题(如何触发方法)...但是,您可能能够使用数据绑定来解决问题。
爪哇语
new Vue({
el: '#app',
data: {
cart: [
{ name: 'banana', color: 'yellow'},
{ name: 'apple', color: 'red'},
{ name: 'lime', color: 'green'},
],
notes: []
}
})
.HTML
<div id="app">
<div v-for="item in cart">
{{ item.name }} - {{ item.color }}<br/>
<input type="text" v-model="notes[$index]"/>
</div>
<pre>{{ $data | json }}</pre>
</div>
或者,如果您希望notes
成为对象,则可以将input
更改为:
<input type="text" v-model="notes[item.name]"/>
这是一个jsfiddle。
相关文章:
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 将一个方法转换为promise:Nodejs
- 如何在所有ng点击事件AngularJS上启动一个方法
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 拆散一个大班的巧妙方法
- 如何创建一个方法来验证数组的范围
- 如何将一个方法延迟到另一个方法首先完成,javascript
- Angular2将组件方法导入到另一个组件中
- 你能把一个匿名方法(函数)动态地变成一个命名方法吗
- 在Javascript中对类的每个实例调用一个方法
- 如何重写一个方法,并且仍然能够在重写的方法中使用基方法
- 将其中一个异步方法重写为使用promise的方法
- 添加一个setTimeout方法会使jQuery悬停方法忽略setTimeout方法中的函数
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- 我应该返回一个类似console.log()的方法调用吗
- AngularJS从对象中获取另一个值的方法
- JavaScript 方法一个有效,另一个无效
- 正确的删除方法一个属性
- QUnit:每个方法一个测试,每个方法有多个断言或多个测试