Carl
  • 3.5k

8行代码的模板字符串替换函数

特点

  • 无依赖
  • 无检查
  • 无错误处理
  • 无逻辑
  • 无配置

代码

function render(tpl, data){
    var re = /{{([^}]+)?}}/;
    var match = '';
    while(match = re.exec(tpl)){
        tpl = tpl.replace(match[0],data[match[1]]);
    }
    return tpl;
}

demo

var tpl = '/cube_xinbao_dial_result/{{action}}/{{report_type}}/{{query}}/?userId={{userId}}';

var data = {report_type:1, query: '2323', action: 'todolist',userId: '23234234'}

function render(tpl, data){
    var re = /{{([^}]+)?}}/;
    var match = '';
    while(match = re.exec(tpl)){
        tpl = tpl.replace(match[0],data[match[1]]);
    }
    return tpl;
}

console.log(render(tpl,data));

> /cube_xinbao_dial_result/todolist/1/2323/?userId=23234234
阅读 1.8k

推荐阅读
洞香春
用户专栏

前端知识记录

766 人关注
124 篇文章
专栏主页