美文网首页
vue模板实现1-简单正则替换

vue模板实现1-简单正则替换

作者: 恒星的背影 | 来源:发表于2018-05-08 08:40 被阅读0次

对模板的很粗糙的实现,就是简单地用正则处理了一下,还加了一个报错。有很多不完善的地方,欢迎指出。

//  my_vue.js
class Vue {
  constructor(obj) {
    const {el, data} = obj
    const node = document.querySelector(el)
    
    const reg = /{{\w+}}/g
    let str = node.innerHTML

    const arr = str.match(reg)

    arr.forEach((item)=>{
      const key = item.slice(2, -2)
      
      if(data[key] === undefined) {
        str = str.replace(item, '')
        node.innerHTML = str
        console.error(`[vue warn] ${key} is undefined`)

      }
      else {
        str = str.replace(item, data[key])
        node.innerHTML = str
      }
    })
  }
}
  // 示例代码
  <div id="app">
    <p>hello, {{msg}}, lala, {{name}}, {{age}}</p>
  </div>

  <script>
    const app = new Vue({
      el: '#app',
      data: {
        msg: 'vue',
        name: 'wang'
      }
    })
  </script>  

相关文章

  • vue模板实现1-简单正则替换

    对模板的很粗糙的实现,就是简单地用正则处理了一下,还加了一个报错。有很多不完善的地方,欢迎指出。

  • 《PHP Learning》模板引擎

    《PHP Learning》模板引擎 模板处理使用正则处理模板替换规则保存模板编译结果 模板使用 自定义模板引擎 ...

  • 自定义模版引擎

    实现一个简单的模版引擎只需简单的正则匹配即可。 这是我们想到了强大的正则,exec方法来遍历和替换。这句正则表达式...

  • 手写Vue2核心(二):模板渲染

    模板渲染 因为vue模板中存在指令,修饰符,循环等,只替换变量是不健全的。因此需要有一套模板渲染,来识别vue模板...

  • JS代码题4

    实现一个简单的模板引擎 实现render函数: 这道题的主要考察正则的有关知识: 圆括号 test()方法 exe...

  • 数仓--Hive-面试之向Hive中传入变量的方式

    Hive向程序中传递变量的方式 暴力替换字符串替换正则替换模板引擎 系统环境变量shell环境变量:${env:v...

  • 2020-12-16

    对二维数据连续项进行合并 实现 循环判断 数据拍平,正则替换 对象字符串 正则替换 其他方法 欢迎补充?

  • 模板引擎

    字符串替换 简单的模板引擎

  • 正则匹配搜索文案

    需求描述:搜索匹配列表数据 实现方案:用正则全局替换

  • Vue_template和render

    Vue_template和render template一个替换挂载的元素模板。挂载元素的内容都将被忽略,除非模板...

网友评论

      本文标题:vue模板实现1-简单正则替换

      本文链接:https://www.haomeiwen.com/subject/kbqirftx.html