以下是我正在尝试的内容:
_.template("Hello ___name___",{escape:/___(.*?)___/g})({name:"Steve"})
我期望的输出是:
你好史蒂夫
但我得到了:
未捕获TypeError:_. trylate(...)不是函数(匿名函数)
这是有道理的,因为:
_.template("Hello ___name___",{escape:/___(.*?)___/g})
返回字符串Hello ___name___
而不是模板函数。
the docs是错误还是什么?
N.B。我不想覆盖全局_.templateSettings
。
答案 0 :(得分:2)
如果您使用的是版本2.*
(在此版本中second argument
是模板的数据),您可以试试这个
console.log(_.template("Hello ___name___", null, {escape:/___(.*?)___/g})({name:"Steve"}));

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.2/lodash.js"></script>
&#13;
使用版本3.*
,您的示例可以正常使用
console.log(_.template("Hello ___name___", {escape:/___(.*?)___/g})({name:"Steve"}));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.8.0/lodash.js"></script>
&#13;