我正在使用 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] 但这似乎不是很好的编码;)?
难道我做错了什么?