Javascript 从主干视图模板中访问子对象/模型的变量
我的服务器给出了JSON响应,如下所示:Javascript 从主干视图模板中访问子对象/模型的变量,javascript,backbone.js,underscore.js,backbone-views,Javascript,Backbone.js,Underscore.js,Backbone Views,我的服务器给出了JSON响应,如下所示: { "products" : [ { "Product" : { "id" : "122", "name" : "product X", "price" : "19.99", }, "Picture" : [ { "product_id" : "122",
{
"products" : [
{
"Product" : {
"id" : "122",
"name" : "product X",
"price" : "19.99",
},
"Picture" : [
{
"product_id" : "122",
"id" : "145",
},
{
"product_id" : "122",
"id" : "146",
},
{
"product_id" : "122",
"id" : "147",
}
]
}
]
}
我将创建一个主干模型,该模型将传递给主干视图。在我的视图模板中,我可以通过以下方式访问产品名称:
<%= Product.name %>
因此,简而言之,我如何从产品模板中访问与我的产品相关联的各种图片的属性。如果需要的话,我会使用下划线模板。正常的javascript数组索引器语法
[index]
将实现以下功能:
<%= Picture[0].id %>
或者您喜欢的任何其他javascript构造。更多信息。我通过控制台对此进行了测试,测试结果与预期相符。然而,使用下划线模板仍然是不可能的<代码>未捕获类型错误:无法读取未定义的属性“id”能否显示如何将模型传递给视图和模板?@NeilHolcomb,模板表达式确实有效,请参阅:。渲染代码/数据还有其他问题-可能是带有空
图片
数组的产品?DOH!就这样。空图片数组正在终止脚本,并且没有渲染任何内容。现在,关于快捷方式问题,在下划线模板中,我们可以测试空数组吗?@fencliff我没有足够的声誉来投票支持你,所以我在这里说谢谢。。。今晚您为我节省了数小时的facepalming。请注意,一般来说,您应该使用
而不是
,因为它可以正确地转义值并防止XSS攻击。
Uncaught SyntaxError: Unexpected number
<%= Picture[0].id %>
<% if(!_.isEmpty(Picture)) { %>
<%= Picture[0].id %>
<% } else { %>
No picture
<% } %>