zoukankan      html  css  js  c++  java
  • vue源码学习之模板解析

    1. 将el的所有子节点取出,添加到一个新建的文档fragment对象中

    2.对fragment中的所有层次子节点递归进行编译解析处理

      a.对大括号表达式文本节点进行解析

      b.对元素节点的指令属性进行解析

         事件指令解析

         一般指令解析

    3. 将解析后的fragment添加到el中显示

    模板解析(1):大括号表达式解析

    1.根据正则对象得到匹配出的表达式字符串:子匹配/RegExp.$1      name

    2.从data中取出表达式对应的属性值

    3.将属性值设置为文本节点的textContent

    模板解析(2):事件指令解析

    1.从指令名中取出事件名

    2.根据指令的值(表达式)从methods中得到对应的事件处理函数对象

    3.给当前元素节点绑定指定事件名和回调函数的dom事件监听

    4.指令解析完后,移除此指令属性

    模板解析(3):一般指令解析

    1)得到指令明和指令值(表达式)  text/html/class

    2)从data中根据表达式得到对应的值

    3)根据指令名确定需要操作元素节点的什么属性

      *v-text ----  textContent 属性

      *v-html ----innerHTML 属性

      *v-class ----className 属性

    4)将得到的表达式的值设置到对应的属性上

    5)移除元素的指令属性

  • 相关阅读:
    基于简单工厂模式的计算器程序
    Android网络请求之OkHttp框架
    利用Volley框架实现手机号归属地查询
    Android网络请求之HttpURLConnection/HttpClient
    HDU4001 最长上升子序列
    xml易混淆的几组属性
    HDU2444 二分图
    HDU2018 斐波那契
    HDU1427 速算24点
    工厂模式
  • 原文地址:https://www.cnblogs.com/wx2019/p/14866632.html
Copyright © 2011-2022 走看看