这篇文章主要为大家详细介绍了VUE v-for循环中每个item节点动态绑定不同函数的实例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
一个title 处 可能有 一个或多个按钮, 按钮对应不同的响应事件
按钮个数 根据传入的数据length 来循环渲染, 每条数据对应的事件名称 通过动态绑定
【图片暂缺】
【图片暂缺】
代码如下:
<!-- 多个button组件-->
<titleAddBtn :addBtnList="addBtnList" @clkCallBk="listenCall"></titleAddBtn>
代码如下:
import titleAddBtn from '@/components/titleAddBtn'
组件注册:
代码如下:
components: { titleAddBtn },
代码如下:
data() {
return {
addBtnList: [
{
title: '添加1',
icon: 'el-icon-circle-plus-outline',
methods: 'addItem'
},
{
title: '添加2',
icon: 'el-icon-circle-plus-outline',
methods: 'addItem2'
},
{
title: '添加3',
icon: 'el-icon-circle-plus-outline',
methods: 'addItem3'
}
],
}
}
title 是 按钮上的文字,
icon 传入 elementui icon部分 提供的 class名
methods 传入 在父组件中 定义的 对应按钮的函数方法名
代码如下:
methods: {
listenCall(methodsWords) {
console.log('methodsWords', methodsWords)
this[methodsWords]()
},
}
还需要添加
代码如下:
methods: {
addItem() {
console.log(11)
},
addItem2() {
console.log(112)
},
...
}
最后的 this[methodsWords]() 调用 不能够写成 this.methodsWords()
代码如下:
<template>
<div>
<div v-for="item in addBtnList" class="add-btn" @click="clkCall(item.methods)">
<i class="add-btn-i" :class="item.icon"></i>
<div>{{item.title}}</div>
</div>
</div>
</template>
<script>
export default {
name: 'titleAddBtn',
props: ['addBtnList'],
methods: {
clkCall(methodsWords) {
this.$emit('clkCallBk', methodsWords)
}
}
}
</script>
以上这篇VUE v-for循环中每个item节点动态绑定不同函数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持四海网。
本文来自:http://www.q1010.com/184/6094-0.html
注:关于VUE v-for循环中每个item节点动态绑定不同函数的实例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。