定义HTML字符串的方式
- 利用ES6的模板字符串方式。在事件需要传参的情况下,如要传入对象和数组。则不能使用此方法
- 字符串拼接的方式。任何类型的参数都可以传递。
- 给事件传参的时候要注意双引号和单引号的问题
<template>
<div id="pop"></div>
</template>
<script>
export default {
data() {
return {
obj: {
name: "张三",
num: ["1", 2],
img: "https://www.jianshu.com/p/a3d89f9443a1"
}
}
},
mounted() {
window.handleClick = this.handleClick
this.init()
},
beforeDestroy() {
window.handleClick = null
},
methods: {
init() {
let div = document.getElementById('pop')
let obj = JSON.stringify(this.obj)
let str = "<div onClick='handleClick(" + obj + ")'>点击我</div>"
div.innerHTML = str
},
handleClick(item) {
console.log(item)
}
},
}
</script>
<style>
</style>