let compileStr = Vue.compile(this.templateString)this.template = compileStr.rendertemplateString: function (scope) {
let fun = function () {
console.log('afe')
} return ` <div>
<el-button type="primary" @click="${fun}">查詢</el-button>
<el-button type="primary">詳情</el-button>
</div>
`
}點(diǎn)擊后fun不執(zhí)行。。。如果修改為${fun()}有報(bào)錯(cuò)Invalid handler for event "click": got undefined有沒一種方法可以是的能夠編譯處理,并且點(diǎn)擊能正確執(zhí)行fun? 我現(xiàn)在用的是把fun方法data里面
1 回答

蠱毒傳說
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
`<el-button type="primary" @click="console.log('afe')">查詢</el-button>`
最簡單的辦法, 直接把 fun 的函數(shù)體寫進(jìn)@click 里面.
@click="content" 會(huì)被編譯成這樣子:
{ onclick: function () { content } }
所以你的寫法會(huì)變成
{ onclick: function () { function fun() { console.log('afe') } } }
借助IIFE, 這樣寫
`<el-button type="primary" @click="(${fun})()">查詢</el-button>`// 結(jié)果{ onclick: function () { (function fun() { console.log('afe') })() } }
添加回答
舉報(bào)
0/150
提交
取消