Javascript 无法在控制台上打印模型数据
在这里,我写上面的代码是为了在控制台上显示一些数据,但当我尝试在控制台上显示以下错误消息时,我对主干js是新手。你能告诉我哪里错了吗Javascript 无法在控制台上打印模型数据,javascript,backbone.js,Javascript,Backbone.js,在这里,我写上面的代码是为了在控制台上显示一些数据,但当我尝试在控制台上显示以下错误消息时,我对主干js是新手。你能告诉我哪里错了吗 define(function(require) { var $ = require('jquery'), Backbone = require('backbone'), People = Backbone.Model.extend({ initiali
define(function(require) {
var $ = require('jquery'),
Backbone = require('backbone'),
People = Backbone.Model.extend({
initialize: function() {
var people_object = new People({name: "How Bizarre", artist: "OMC"});
var people_collections = new PeopleCollection([people_object]);
console.log(people_collections.models);
}
}),
PeopleCollection = Backbone.Collection.extend({
model: People,
});
return {
People: People,
};
});
require(['jquery', 'backbone', 'app/models/persons'], function($,Backbone,persons{
var p = new persons.People();
});
w、 挑
a、 模型
R
主干.Model.extend.initialize
a、 模型
R
主干.Model.extend.initialize
a、 模型
R
主干.Model.extend.initialize
a、 模型
首先,您的错误发生在循环依赖(无限循环)中,因为您有一种无限递归。任何时候你初始化人员,比如newpeople()
,initialize
该模型的方法调用相同的“newpeople()”等等
我猜你正在使用
所以试着这样做:
human.js
<error>
w.pick
a.Model
r
Backbone.Model.extend.initialize
a.Model
r
Backbone.Model.extend.initialize
a.Model
r
Backbone.Model.extend.initialize
a.Model
define(function(require){
var Backbone = require('backbone');
var Human = Backbone.Model.extend({
defaults: {
name: 'Test',
surname: 'Testovyan',
sex: 1
}
});
return Human;
});
define(function(require){
var Backbone = require('backbone');
var Human = require('path/to/human');
var People = Backbone.Collection.extend({
initialize: function () {
console.log(this);
},
model: Human,
url: '/path/to/remote/url'
});
return People;
});
people.js
<error>
w.pick
a.Model
r
Backbone.Model.extend.initialize
a.Model
r
Backbone.Model.extend.initialize
a.Model
r
Backbone.Model.extend.initialize
a.Model
define(function(require){
var Backbone = require('backbone');
var Human = Backbone.Model.extend({
defaults: {
name: 'Test',
surname: 'Testovyan',
sex: 1
}
});
return Human;
});
define(function(require){
var Backbone = require('backbone');
var Human = require('path/to/human');
var People = Backbone.Collection.extend({
initialize: function () {
console.log(this);
},
model: Human,
url: '/path/to/remote/url'
});
return People;
});
控制器或视图.js
<error>
w.pick
a.Model
r
Backbone.Model.extend.initialize
a.Model
r
Backbone.Model.extend.initialize
a.Model
r
Backbone.Model.extend.initialize
a.Model
define(function(require){
var Backbone = require('backbone');
var Human = Backbone.Model.extend({
defaults: {
name: 'Test',
surname: 'Testovyan',
sex: 1
}
});
return Human;
});
define(function(require){
var Backbone = require('backbone');
var Human = require('path/to/human');
var People = Backbone.Collection.extend({
initialize: function () {
console.log(this);
},
model: Human,
url: '/path/to/remote/url'
});
return People;
});
这里是使用相同的代码
这是创建人员集合的最佳方式。
创建模型,使用引用模型的模型属性创建集合。然后使用对象数组初始化集合,然后这些对象将自动成为模型,或者在不使用模型的情况下初始化集合并从远程获取它们
希望这有帮助。为什么要在模型中创建集合?这段代码中有一些bug。我将尝试解释如何使用
主干.Model
和主干.Collection
。