鍍金池/ 問答/HTML/ vue動態(tài)添加v-on屬性

vue動態(tài)添加v-on屬性

<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動態(tài)添加上@change屬性,因為不是每個循環(huán)里面都有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的語法里有可以實現(xiàn)這個簡單需求的嗎?

回答
編輯回答
寫榮
@change="items[item].changeFunc && items[item].changeFunc()"
2018年1月5日 01:16