Vue中插入HTML代码的方法

我们需要吧<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>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值