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)移除元素的指令属性

  • 相关阅读:
    谈一谈网站防盗链
    SEO优化步骤
    hls协议(最清晰的讲解)
    https比http到底那里安全?
    常见的php攻击(6种攻击详解)
    36)django-jsonp跨域
    35)django-验证码
    34)django-上传文件,图片预览功能实现
    33)django-原生ajax,伪ajax
    32)django-modelform
  • 原文地址:https://www.cnblogs.com/wx2019/p/14866632.html
Copyright © 2011-2022 走看看