从零开始,编写一个HTML模版引擎(三)

导航

一、前言

上一期我们说到了虚拟节点的问题,已经能完成静态的模版的结构生成,那么这期我们一起来看看在模版上绑定数据要如何去做。

实际上实现的方式有很多,但是我们的最终目标都是生成虚拟节点,最后交由virtual-dom模块来渲染成真实dom。

二、渲染流程

我们先看看模版引擎的整体渲染流程是什么样子的

  1. 我们有预期要绑定的数据,如vue中的data

    const data = {
          btnText: '点我' }
    
  2. 假设我们的模版结构是:

    <div>
    	<button>{
        { btnText }}</button>
    </div>
    
  3. 将模版解析成我们的目标结构,也就是ast抽象语法树,根据上一期的内容我们已经能够生成了,结构看起来像这样:

    const ast = [{
         
    	tag: 'div',   // 标签名称
    	type: 1, 	  // 节点类型 常用的有 1、普通节点 2、文字节点 3、文档碎片节点
    	data: null,   // 标签上的一切属性数据
    	children: [   // 标签的子节点
    		{
          tag: 'span', type: 1, text: 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值