【问题标题】:Display JSON Object with numbers in Backbone.js Template在 Backbone.js 模板中显示带有数字的 JSON 对象
【发布时间】:2013-06-23 07:23:13
【问题描述】:

如何在通过console.log 获得的主干视图模板中显示以下 JSON 对象?

Object {207: "402", 208: "400", 209: "402", 210: "0", 211: "0", 212: "50", 301: "401", 302: "400"} 

我确实使用了<% =207 %><% =208 %> 来获得价值"402""400",但是没有用。

非常感谢您的帮助!

(已编辑)

嗨,Vitaliy,你还在吗?在这种情况下,我是从 console.log 获取的,如何打印“timestamp”和“101”的值?

对象{时间戳:“2013-06-26T17:36:03+0530”,值:对象} 时间戳:“2013-06-26T17:36:03+0530” 值:对象 101:“81” 102:“1500” 201:“49” 原型:对象

提前谢谢你!

【问题讨论】:

    标签: json backbone.js console.log


    【解决方案1】:

    您不能使用数字作为对象键。这是语法错误。像这样修改你的对象键{"key_207": "402", ...}

    还要打印结果,您应该使用<%= key_207 %> 而不是<% =key_207 %>

    解决此问题的最佳方法是在服务器端修改服务器响应

    但你也可以尝试这样做(我不确定它是否适用于所有浏览器):

    var res = {207: "402", 208: "400"};
    console.log(res[207]); // -> 402
    

    因此,您需要将模型传递给某个对象内的模板,并以上述方式访问密钥:

    __template__({data:this.model.toJSON()})
    

    然后:

    <%= data[207] %>
    

    【讨论】:

    • 谢谢维塔利!您能告诉我如何修改 JSON 对象的对象键吗?
    • 嗨,维塔利夫,你还在吗?在这种情况下,我从 console.log 获得,如何打印“timestamp”和“101”的值?对象{时间戳:“2013-06-26T17:36:03+0530”,值:对象} 时间戳:“2013-06-26T17:36:03+0530”值:对象 101:“81”102:“1500” 201: "49" proto: Object 提前谢谢你!
    • &lt;%= data.timestamp %&gt;&lt;%= data.values[101] %&gt;
    • 这次控制台日志说:“无法读取未定义的属性'101'”。我想在我使用 this.changePage(new ValuesView({model:this.valuesCollection}));数据已进入主干模板。你有什么看法?
    • 嘿 Vinaliy,我什至无法获得时间戳。你可以帮帮我吗? __template__({data:this.model.toJSON()})---> 能不能改成类似__template__({data.timestamp:this.model.toJSON()}) 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 2017-09-12
    • 2011-11-16
    • 1970-01-01
    相关资源
    最近更新 更多