中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VUE v-for循環中如何實現每個item節點動態綁定不同函數

發布時間:2021-07-23 14:21:02 來源:億速云 閱讀:260 作者:小新 欄目:web開發

這篇文章主要為大家展示了“VUE v-for循環中如何實現每個item節點動態綁定不同函數”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“VUE v-for循環中如何實現每個item節點動態綁定不同函數”這篇文章吧。

一. 業務場景:

一個title 處 可能有 一個或多個按鈕, 按鈕對應不同的響應事件

二. 思路 :

按鈕個數 根據傳入的數據length 來循環渲染, 每條數據對應的事件名稱 通過動態綁定

三. 封裝組件

1. 視圖層面

VUE v-for循環中如何實現每個item節點動態綁定不同函數

2. 代碼部分

2.1 結構部分

VUE v-for循環中如何實現每個item節點動態綁定不同函數

<!-- 多個button組件-->
<titleAddBtn :addBtnList="addBtnList" @clkCallBk="listenCall"></titleAddBtn>

2.2 JS部分

2.2.1 引入組件

import titleAddBtn from '@/components/titleAddBtn'

組件注冊:

components: { titleAddBtn },

2.2.2 傳入數據

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'
}
 ],

}
 }

2.2.2 傳入數據說明:

title 是 按鈕上的文字,

icon 傳入 elementui icon部分 提供的 class名

methods 傳入 在父組件中 定義的 對應按鈕的函數方法名

2.2.3 監聽 子組件點擊哪個按鈕(促發哪個函數)

methods: {

listenCall(methodsWords) {
 console.log('methodsWords', methodsWords)
 this[methodsWords]()
},
 }

2.2.4 這里的 this[methodsWords] 動態方法 指向 數據定義中的 addBtnList 的 methods

還需要添加

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節點動態綁定不同函數”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延川县| 彰武县| 苏尼特右旗| 富锦市| 莱阳市| 玛曲县| 吉安市| 泸定县| 都安| 云霄县| 越西县| 巩留县| 左权县| 淮北市| 鄂州市| 福清市| 上犹县| 宝清县| 乌拉特中旗| 长宁区| 林西县| 合阳县| 谷城县| 长泰县| 武功县| 洞口县| 宝坻区| 大关县| 建湖县| 蒲城县| 交城县| 威远县| 昂仁县| 沁阳市| 恭城| 双鸭山市| 綦江县| 西丰县| 安庆市| 佛山市| 桂阳县|