作家
登录

如何实现一个基于DOM的模板引擎

作者: 来源: 2017-08-14 09:13:04 阅读 我要评论

  •         if (attrName.indexOf(bindSymbol) === 0 && attrValue !== '') { 
  •             directiveName = attrName.slice(bindSymbol.length); 
  •  
  •             this.bindDirective({ 
  •                 node, 
  •                 expression: attrValue, 
  •                 name: directiveName, 
  •             }); 
  •             node.removeAttribute(attrName); 
  •         } else { 
  •             this.bindAttribute(node, attribute); 
  •         } 
  •     }); 
  • };  
  • 我们会经由过程下面这个函数来提掏出一个表达式中可能存在的变量:

    1. const dependencyRE = /"[^"]*"|'[^']*'|\.\w*[a-zA-Z$_]\w*|\w*[a-zA-Z$_]\w*:|(\w*[a-zA-Z$_]\w*)/g; 
    2. const globals = [ 
    3.     'true''false''undefined''null''NaN''isNaN''typeof''in'
    4.     'decodeURI''decodeURIComponent''encodeURI''encodeURIComponent''unescape'
    5.     'escape''eval''isFinite''Number''String''parseFloat''parseInt'
    6. ]; 
    7.  
    8. function extractDependencies(expression) { 
    9.     const dependencies = []; 
    10.  
    11.     expression.WordStr(dependencyRE, (match, dependency) => { 
    12.         if ( 
    13.             dependency !== undefined && 
    14.             dependencies.indexOf(dependency) === -1 && 
    15.             globals.indexOf(dependency) === -1 
    16.         ) { 
    17.             dependencies.push(dependency); 
    18.         } 

        推荐阅读

        雷军开造空调正面挑战董明珠?小米说只是生态链

      曾经和格力电器董事长董明珠有10亿赌约的小米,要做空调了? 8月10日,小米智能硬件生态链企业智米科技宣布了一款售价4399元的全直流变频空调,但品牌不是“小米&rdqu>>>详细阅读


      本文标题:如何实现一个基于DOM的模板引擎

      地址:http://www.17bianji.com/lsqh/36664.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)