render方法进行html跳转报错,vue项目中 render函数直接操作html元素报错

vue文件中,写法如下,会报语法错误

render(h, context) {

const { icon, title } = context.props

const vnodes = []

if (icon) {

vnodes.push()

}

if (title) {

vnodes.push({(title)})

}

return vnodes

}

69301c1ed26d60926909c9b01c0231ac.png

两种解决方案

在vue render渲染函数里面是通过createElement实现的,使用如下写法更规范化

render: function(createElement, context) {

const vnodes = []

const { icon, title } = context.props

if (icon) {

const elHtml = createElement(‘i‘, {

attrs: {

‘class‘: icon

}

})

console.log(elHtml)

vnodes.push(elHtml)

}

if (title) {

const elHtml = createElement(‘span‘, {

attrs: {

slot: title

}

}, title)

console.log(elHtml)

vnodes.push(elHtml)

}

return vnodes

}

方案二:利用babel引入语法字典

具体在根路径配置文件 告诉是vue语法字典,避免js不识别vue语法而报错;

module.exports = {

presets: ["@vue/app"]

};

若具体的说法有误请路过的大神指点!

原文:https://www.cnblogs.com/xhliang/p/13150769.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值