如何利用Vue.js库中的v-html指令添加html元素

如何利用Vue.js库中的v-html指令添加html元素,第1张

js在特定位置动态添加html可以利用HTML DOM appendChild() 方法。

例子:

var div1 = document.createElement("div")

div1.id = "div1"

var div2 = document.createElement("div")

div2.id ="div2"

document.body.appendChild(div1)

div1.appendChild(div2)

appendChild()定义和用法:

appendChild() 方法向节点添加最后一个子节点。

提示:如果您需要创建包含文本的新段落,请记得添加到段落的文本的文本节点,然后向文档添加该段落。

您也可以使用 appendChild() 方法从一个元素向另一个元素中移动元素。

从一个列表向另一个列表中移动列表项:

var node=document.getElementById("myList2").lastChild

document.getElementById("myList1").appendChild(node)

vue从后台获取的数据有html标签通过v-html渲染到页面给html添加样式的方法如下:

准备材料:Vue.js、HBuilder、浏览器

1、创建静态页面vhtml.html,并引入vue.js文件。

2、在<body></body>元素内插入两个div,一个作为外层div,另外一个作为子div,并在父div绑定v-html指令。

3、绑定v-html指令数据,这里设置为字符串。

4、Vue.js库的v-html指令是插入html元素,修改datas为包含<p></p>标签。

5、预览该静态页面,这时会看到页面显示如下

6、将调试打开,这时发现<div></div>中有个<p></p>标签,完成添加。

对于 vue 来说,模板本质就是一个字符串

vue 中的模板是有逻辑的,是动态的,如 v-if、v-for 等

与 html 格式很像,但有很大区别;html 是静态的,而 vue 模板是动态的

最终还是要转化为 html 来显示,怎么才能转换为 html 来显示呢?

模板最终必须转换为 JS 代码?

因为模板有逻辑 (v-if,v-for),必须用 JS 才能实现(前端中只有 JS 是图灵完备语言)

转换为html渲染页面,必须用 JS 才能实现渲染

因此模板最终要转换为一个 JS 函数(render 函数),(render 函数是指的渲染函数,并不一定就必须是 render 这个名字)

render函数

render 函数的 with 的用法

模板中,所有信息都包含在了 render 函数中

this 即 vm

price 就是 this.price,也是 vm.parice,也是 data.price


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7499453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存