我的模型具有特殊字符的属性(从Web服务接收),我需要使用括号表示法来引用它。在使用this.model.toJSON()
渲染模板时,有没有办法可以引用这些属性?我目前正在重写toJSON来映射它们。
更新,这可能是最好/最简单的另一种方式:$(this.el).html(this.template({ data: this.model.toJSON() }));
并使用data['@invalid-property-#characters']
引用该属性。
更新,示例模板:
<span><%= section_name %></span>
<span><%= @type %></span <!-- won't work -->
<span><%= data['@type'] %></span> <!-- works -->
答案 0 :(得分:0)
toJSON
,并使用不同的特殊字符映射属性。this.template({ scopedVariable: this.model.toJSON() })
以及模板<%= scopedVariable['@invalid-variable-#name'] %>
答案 1 :(得分:-1)
@type
不是有效的javascript变量名,因此无法正常工作。
编辑:
除了更改属性名称之外没有其他解决方案,或者通过传递您在问题中所做的对象来在变量中确定模型范围。这不仅仅是javascript的魔力,如果它不能在javascript中运行,它将无法在您的下划线模板中运行,期间。