Javascript模板引擎?

时间:2011-04-22 09:11:46

标签: javascript

  

可能重复:
  How do templating engines in JavaScript work?

我已经开始学习Javascript并且已经在网上阅读各种不同的文章,我不确定的一件事是什么是javascript模板引擎?他们的目的是什么?如果有人能解释这个会很棒!

由于 凯尔

1 个答案:

答案 0 :(得分:5)

有不同种类的模板。基本上,我们的想法是将一些包含值占位符的字符串作为输入,并使用一些函数将这些占位符替换为实际值。像:

var str = 'Hello $1';

现在您可以编写一个javascript函数来替换$1

function printFromTemplate(){
  var args = Array.prototype.slice.call(arguments),
      str = args[0],
      repl = args.slice(1);

  function replacer(a){
     var aa = parseInt(a.substr(1),10)-1;
     return repl[aa];
  }

  return str.replace(/(\$\d+)/g,replacer) );
}

并像这样使用它:

printFromTemplate(str,'world'); //=> Hello world
printFromTemplate('Hello $1, it\'s a really $2 day today','world','sunny'); 
       //|=> Hello world, it's a really sunny day today
阅读[{3}}

this blog article后,

[编辑]匿名替换函数指定外部函数