v-for 动态绑定事件

    <template v-for="item in buttonList">
                <el-tooltip class="item" effect="dark" :content="item.content" placement="top-start"
                    v-if="item.content == '上一首' || item.content == '开始' && !playState || item.content == '暂停' && playState || item.content == '下一首' || item.content == '循环播放' && playModule || item.content == '顺序播放' && !playModule">
                    <el-button type="text" :class="'el-icon-' + item.icon" v-on:click="btn(item.event)"></el-button>
                </el-tooltip>
            </template>
 btn(event) {
            this[event]()
        },
        // 上一首
        beforeMusic() {

        },
        // 开始
        beginMusic() {
            this.playState = true

            alert("正在播放")
        },
        // 暂停
        stopMusic() {
            this.playState = false
            alert("暂停播放")
        },
        // 下一首
        afterMusic() {

        },
        // 循环播放
        music() {
            this.playModule = false
            alert("循环播放")
        },
        // 顺序播放
        stepMusic() {
            this.playModule = true
            alert("顺序播放")
        },
       buttonList: [
                {
                    icon: "caret-left",
                    content: "上一首",
                    event: "beforeMusic",
                },
                {
                    icon: "video-play",
                    content: "开始",
                    event: "beginMusic",
                },
                {
                    icon: "video-pause",
                    content: "暂停",
                    event: "stopMusic",
                },
                {
                    icon: "caret-right",
                    content: "下一首",
                    event: "afterMusic",
                },
                {
                    icon: "refresh",
                    content: "循环播放",
                    event: "music",
                },
                {
                    icon: "s-operation",
                    content: "顺序播放",
                    event: "stepMusic",
                }
            ]

1.需要注意:绑定事件不能使用@只能使用v-on

2.通过一个中间方法进行调用,直接写v-on:click="item.event"无效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值