1.使用v-html显示一段html代码,但是里面绑定的click事件不生效 ?
原代码:
<div v-html="test"></div>
export default { name: ‘app‘, data() { return { test: ‘<div class=container><ul><li class=part @click="cleckEvent">1234</li><li class=part @click="cleckEvent">ssss</li><li class=part @click="cleckEvent">3fe3322</li></ul></div>‘, } }, methods: { cleckEvent: function () { console.log(11); } } }
打开浏览器发现@click也显示在li节点上,解决方法:可以使用js中的事件委托,把click事件绑定在v-html的那个节点上
<div v-html="test" @click="clickFrage($event)"></div>
methods:{ async clickFrage (event) { if (event.target.className === ‘part‘) { console.log(111) // 此处可以写自己的click处理 } } }
时间: 2024-09-28 12:40:29