代码如下
<div v-html="vHtml"></div>
<script>
var style = {
background:"red",
color:"#fff"
}
this.vHtml =
`<span :style="${style}">${split}</span>`
</script>
不知道为什么style的样式无法起作用?
如果把style换成字符串var style = "background:red;color:#fff"
也可以解决这个问题,但是为什么对象形式不可以呢? 哪位大神帮忙分析下。
得到的结果是这样的。也就是说vHtml里面的style没有被编译成html,为什么会有这种情况呢
https://cn.vuejs.org/v2/api/#...
多看文档,
v-html
是按照innerHTML插入html片段,插入的内容不会作为 Vue 模板进行编译,所以要符合html规范,浏览器认识style
,但是不会认识:style
,另外${style}
这个对象拼接到字符串上变成[object Object]
,这是js的基础知识