【问题标题】:JS Namespace and Backbone to JSONJS 命名空间和主干到 JSON
【发布时间】:2023-03-16 04:28:01
【问题描述】:

我正在使用 Backbone.js 构建一个单页应用程序。我引入了一个命名空间并创建了一个模块定义,如下所示:

// Declare namespace
var app = app || {};

// Recommendation Model Definition
// -------------------------------
app.Recommendation = Backbone.Model.extend({});

var rec =  new app.Recommendation({id: "1", rating: "2"});
console.log(rec.toJSON());

// Chrome JS console output 
Array[1]
 0: Object
 id: "1"
 rating: "2"
 __proto__: Object
length: 1
__proto__: Array[0]

问题是 toJSON() 方法没有返回直接的 JSON 字符串,而是嵌套在一个数组中。如果我将命名空间排除在外,那么它就是在做正确的事情。我显然可以只声明 rec.toJSON()[0] 但这似乎不是很好的编码;)?

我是不是做错了什么?

【问题讨论】:

标签: javascript backbone.js namespaces


【解决方案1】:

您做错了什么...可能使用 Backbone.Collection 而不是模型...请参阅:

http://jsfiddle.net/VVLhZ/2/

$("#output").html(JSON.stringify(rec.toJSON()));

这表明你描述的事情没有发生。

【讨论】:

    【解决方案2】:

    这里是文档: http://backbonejs.org/#Model-toJSON(http://backbonejs.org/#Model-toJSON)

    只需使用JSON.stringify(rec)

    【讨论】:

      猜你喜欢
      • 2011-08-03
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 2010-10-20
      • 2018-06-18
      • 2014-05-17
      相关资源
      最近更新 更多