为了账号安全,请及时绑定邮箱和手机立即绑定

vue动态添加v-on属性

vue动态添加v-on属性

呼唤远方 2019-03-29 22:19:58
<el-col :span="items[item].col || 12" class="detail-item" v-for="item in table['items']" :key="item.id">    <template v-if="table.modal.modifyModel && items[item].editable!==false">        <el-select v-model="table.formData[items[item].name]" :placeholder="items[item].label" v-if="items[item].type==='select'" @change="items[item].changeFunc()">          <el-option :label="opt.LABEL" :value="opt.VALUE" :key="opt.KEY" v-for="opt in items[item].options"></el-option>        </el-select>        <el-input v-model="table.formData[items[item].name]" v-else></el-input>    </template></el-col>我想给el-select动态添加上@change属性,因为不是每个循环里面都有items[item].changeFunc这个参,所以没有参的时候是不需要@change的。写成@change="items[item].changeFunc() ||''"会报错not function写成@change="items[item].changeFunc() || return true"也不行只留@change="items[item].changeFunc()"这样当点击别的没有改属性的select也是报错not function用v-if判断那就变成写两行一样的 只是一个有@change 一个没有 会有点冗余不知道vue的语法里有可以实现这个简单需求的吗?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

@change="items[item].changeFunc && items[item].changeFunc()"


查看完整回答
反对 回复 2019-04-08
  • ID_yun
    ID_yun
    @click 就是 v-on:click的简写。 判断添加事件 v-on="items[item].changeFunc ?{click: items[item].changeFunc} : {}"
  • 1 回答
  • 0 关注
  • 1534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号