gpt4 book ai didi

events - Vue中如何在 “v-html”绑定(bind)点击事件

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:29 25 4
gpt4 key购买 nike

我在jsfiddle中有一个简单的例子,如例子中所述,我想通过v-html插入元素,然后在插入元素中绑定(bind)事件。除了通过这种方式添加id操作dom,还有没有更好的办法?

https://jsfiddle.net/limingyang/bnLmx1en/1/

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<div v-html="link"></div>
</div>

var app = new Vue({
el: '#app',
data: {
link: '<a href="javascript:void(0)">click me</a>'
}
})

最佳答案

您可以添加 ref在您的 div 上,并像在常规 JavaScript 中一样操作其子元素。例如,您可以为 mounted Hook 中的链接设置事件监听器:

var app = new Vue({
el: '#app',
data: {
link: '<a href="#">click me</a>'
},
mounted() {
this.$refs['mydiv'].firstChild.addEventListener('click', function(event) {
event.preventDefault();
console.log('clicked: ', event.target);
})
}
})
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<div v-html="link" ref="mydiv"></div> <!-- notice 'ref' -->
</div>

关于events - Vue中如何在 “v-html”绑定(bind)点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44483117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com