methods: {
forData(data) {
data.forEach((item, index) => {
if (item.length > 0) {
this.html += "<div>";
this.forData(item);
} else {
this.html += "<div @click='cesi1'>" + item.text;
}
this.html += "</div>";
});
this.$refs.wrapper.innerHTML = this.html;
},
cesi1() {
console.log(123);
}
}
我得代码如上,通过递归输出结构,由于使用的是拼接字符串方式,所以导致代码中@click
无法触发,咨询度娘说可以使用render
函数解决,自己查了下文档但始终没有理解如何将render
函数搭配进我上面的代码中,再次提问还望指点,谢谢!
这地方用不到
render
函数, 直接在template
中使用v-for
遍历data
渲染你拼接的html就行了, 然后forData
方法用来赋值data
.