小编给大家分享一下vue.js无法触发事件的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
vue.js无法触发事件是因为vue没有将其作为vue的模板解析渲染,其解决办法就是通过component模板编译渲染前端数据即可。
vue.js v-html无法触发点击事件?
背景:
后端返前端html格式的数据,前端用v-html解析渲染,如:<a @click="show(1)"></a>,a标签能成功渲染,但其绑定的事件无法触发。
原因:
vue没有将其作为vue的模板解析渲染
解决方案:
不用v-html而是component模板编译
上干货:
<template>
<div class="hello">
<h2>
我是父组件
</h2>
<div class="parent" id="parent">
</div>
</div>
</template>
<script>
import Vue from 'vue';
var MyComponent = Vue.extend({
template: '<a @click="show(1)">我是大魔王</a>',
methods: {
show(i) {
console.log(i);
},
}
});
var component = new MyComponent().$mount();
export default {
data() {
return {
}
},
methods: {
},
mounted() {
document.getElementById('parent').appendChild(component.$el);
}
}
</script>
<style scoped>
</style>
页面:
控制台:
以上是“vue.js无法触发事件的解决方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。