在下划线模板中,除了通过名称之外,还有其他方法可以访问属性吗?我有一个叫“2a”,我不能直接引用它,因为它的第一个字符是一个数字。例如,这不起作用:
<input type="checkbox" name="6a" <%= 6a ? "checked" : "" %>>
谢谢!
在下划线模板中,除了通过名称之外,还有其他方法可以访问属性吗?我有一个叫“2a”,我不能直接引用它,因为它的第一个字符是一个数字。例如,这不起作用:
<input type="checkbox" name="6a" <%= 6a ? "checked" : "" %>>
谢谢!
除了重命名有问题的属性之外,您还有其他一些选择。
下划线_.template
有一个variable
选项:
默认情况下,模板
with
通过语句将数据中的值放在本地范围内。但是,您可以使用变量设置指定单个变量名称。
所以你可以这样做:
<input type="checkbox" name="6a" <%= v['6a'] ? "checked" : "" %>>
还有这个:
var t = _.template($('#whatever').html(), null, { variable: 'v' });
var h = t({ '6a': true });
演示:http: //jsfiddle.net/ambiguous/hBhfu/
您也可以在调用模板函数时手动包装它:
t({ v: { '6a': true }});
在这种情况下,您将使用与上述相同的模板。
演示:http: //jsfiddle.net/ambiguous/8AZKw/