Javascript 在木偶/下划线模板中使用具有奇怪字符的属性

Javascript 在木偶/下划线模板中使用具有奇怪字符的属性,javascript,json,backbone.js,underscore.js,marionette,Javascript,Json,Backbone.js,Underscore.js,Marionette,我有一个带有属性名称的模型,如@id,@type,等等 如果我尝试在木偶.ItemView模板(带下划线)中使用,我会得到 未捕获的语法错误:意外标记非法 使用语法['@id']不会产生预期的结果 我必须重写序列化数据函数吗 感谢下划线模板需要中的JavaScript表达式,编译后的模板使用JavaScript表达式,因此您通常可以像引用变量一样引用对象属性。您的问题是@id不是有效的JavaScript表达式 因此,是的,提供您自己的来删除@可能是您最好的选择。另一种可能是将变量选项用于: 默

我有一个带有属性名称的模型,如
@id
@type
,等等

如果我尝试在
木偶.ItemView
模板(带下划线)中使用
,我会得到

未捕获的语法错误:意外标记非法

使用语法
['@id']
不会产生预期的结果

我必须重写
序列化数据
函数吗


感谢

下划线模板需要
中的JavaScript表达式,编译后的模板使用JavaScript表达式,因此您通常可以像引用变量一样引用对象属性。您的问题是
@id
不是有效的JavaScript表达式

因此,是的,提供您自己的来删除
@
可能是您最好的选择。另一种可能是将
变量
选项用于:

默认情况下,template通过
with
语句将数据中的值放入本地范围。但是,可以使用变量设置指定单个变量名。这可以显著提高模板渲染的速度

_.template("Using 'with': <%= data.answer %>", {answer: 'no'}, {variable: 'data'});
=> "Using 'with': no"
.template(“使用'with':”,{answer:'no'},{variable:'data'}); =>使用“with”:否
然后你可以使用像
;问题是,让这种方法与木偶网一起工作可能比简单地清理自定义
序列化数据
方法中的
@
要复杂得多。

下划线模板需要
中的JavaScript表达式,编译后的模板使用,因此您通常可以像引用变量一样引用对象属性。您的问题是
@id
不是有效的JavaScript表达式

因此,是的,提供您自己的来删除
@
可能是您最好的选择。另一种可能是将
变量
选项用于:

默认情况下,template通过
with
语句将数据中的值放入本地范围。但是,可以使用变量设置指定单个变量名。这可以显著提高模板渲染的速度

_.template("Using 'with': <%= data.answer %>", {answer: 'no'}, {variable: 'data'});
=> "Using 'with': no"
.template(“使用'with':”,{answer:'no'},{variable:'data'}); =>使用“with”:否
然后你可以使用像
;问题是,让这种方法与木偶一起工作可能比在自定义
序列化数据
方法中简单地清理
@
要复杂得多