时间:2021-07-01 10:21:17 帮助过:5人阅读
我们需要吧<p>Hello World</p>插入到<p>My name is Pjee</p>应该如何做?
一、使用v-html
v-html:更新元素的 innerHTML
- const text = `<p>Hello World</>`
- <p>
- My name is Pjee
- <p v-html='text'></p>
- </p>
注意:你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。请只对可信内容使用 HTML 插值,绝不要对用户提供的内容使用插值。
二、渲染函数
渲染函数:这是通过对VNode(虚拟DOM)的操作来生成
- text(){
- render:(h)=>{
- h(
- 'div',
- [
- h('p', 'Hello'),
- ' world!'
- ]
- )
- }
- }
- <p>Hello World{{this.text()}}</p>
三、JSX
JSX:这个方法在React使用最为广泛,但是Vue中使用需要安装Babel插件
- text(){
- return (<p>Hello World</p>)
- }
- <p>Hello World{{this.text()}}</p>
四、domPropsInnerHTML
domPropsInnerHTML:如果说JSX在vue很少用到,那么这个东西就更少有人使用到了
如果现在还有一段<p>How are you?</p>需要我们插入到Hello World中,我们就可以使用这种方法
- const newText = '<p>How are you?</p>'
- text(){
- return (
- <p>
- Hello World
- <p domPropsInnerHTML={this.newText}></p>
- </p>
- )
- }
- <p>Hello World{{this.text()}}</p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。