在下划线模板中使用整数变量作为键

时间:2015-10-15 09:47:03

标签: javascript underscore.js underscore.js-templating

根据下划线的documentation,它允许你像下面那样进行字符串模板/插值:

var compiled = _.template("hello: <%= name %>");
compiled({name: 'moe'});
// => "hello: moe"

我不知道是否有任何方法可以使用整数作为键,而不是使用像“name”这样的变量符号?例如:

var compiled = _.template("hello: <%= 1 %>");
compiled({"1": 'moe'});
// => "hello: moe"

我试了一下,但是underscorejs模板将它评估为文字而不是变量,如果提供的变量包含这样的整数键,有没有办法用下划线进行模板化?谢谢。

1 个答案:

答案 0 :(得分:2)

不,你不能使用整数,你必须使用有效变量名称,这意味着它可以有一个整数,但它不能只是一个整数。

有效的方法是:

compiled = _.template("hello: <%= a1 %>");
console.log(compiled({a1: 'moe'}));

compiled = _.template("hello: <%= _1 %>");
console.log(compiled({_1: 'moe'}));


compiled = _.template("hello: <%= a %>");
console.log(compiled({a: 'moe'}));

http://jsfiddle.net/BwHxv/309/