Template&Render(createElement)&JSX

本文参考这篇文章 https://www.jianshu.com/p/7353974795dd

https://blog.youkuaiyun.com/atu1111/article/details/122058433

https://baijiahao.baidu.com/s?id=1712199305393629734&wfr=spider&for=pc

https://zhuanlan.zhihu.com/p/346503152

https://baijiahao.baidu.com/s?id=1712199305393629734&wfr=spider&for=pc

  1. 前言

创建HTML的三种方式: template 和 render()函数和JSX

  1. template方式

vue提供了v-if、v-for等一系列的控制指令,但可能存在代码量大的问题

  1. render()函数

通过JS逻辑代码,灵活的创建HTML。

createElemnt(newNode,newNodeConfig,childVNodeList)主要有三个参数:

  • newNode:要创建的节点【必填参数】

参数类型:{String | Object | Function},

可以是要创建的HTML 标签名称,也可以是组件对象(可以来自一个.vue文件),也可以是返回为String或Vue Object的异步函数

  • newNodeConfig:新节点的配置对象【选填】

  • childVNodeList:新节点要包含的子节点集合【选填】

参数类型: {String | Array}

注意事项: vue官方教程标明传递的VNodes必须是唯一的,如果想重复创建相同的HTML元素,需要用工厂函数来实现

  1. JSX

整段整段的JS配置代码,阅读性很差。可以使用JSX,直接在JS代码中书写HTML。

应用场景:

Vue 的模板语法简单易上手,实现的功能也几乎足够。JSX 不好上手,写起来代码量也多,但 JavaScript 灵活性很强,比如一些复杂表单的实现,函数式组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值