gpt4 book ai didi

javascript - Backbone targetModel = undefined

转载 作者:行者123 更新时间:2023-11-30 08:04:24 25 4
gpt4 key购买 nike

我遇到了 Backbone 的这个​​问题,尽管所有脚本都已加载,但模型似乎未定义到 Backbone 。(我正在使用 require 来加载 Backbone 和其他 javascript 文件)。

所以每当我执行 collection.fetch 时,我都会在 firebug 中收到此错误:

TypeError: targetModel is undefined

当我运行脚本时,它此时包含:

if (attrs instanceof Model) {
id = model = attrs;
} else {
id = attrs[targetModel.prototype.idAttribute];
}

当我将鼠标悬停在 targetModel 上时,它会显示:undefined它现在似乎不起作用,我唯一做的就是更改我的 html 模板,该模板仅在 collection.fetch 之后加载。

你能帮帮我吗?

这是我的模型:

var OF = OF || {};

OF.UsersMdl = Backbone.Model.extend({

default: {

username: '',
mailinglist: '',
email: ''

},

initialize: function() {

//

},

result: {
success: false,
message: ''
},

validate: function(att) {

}

});

这是集合:

var OF = OF || {};

OF.UsersCollection = Backbone.Collection.extend({

initialize: function() {
//
},

parse: function(data){
return data["all-users"];
},

model: OF.UsersMdl,

url: 'php/api/users'

});

最后但并非最不重要的是带有 require 部分的路由器:

goToUsers: function() {

require(['./models/users', './views/users_view', './collections/user_collection'], function(UsersMdl, UsersView, UsersCollection) {

OF.usersMdl = new OF.UsersMdl;
OF.usersCollection = new OF.UsersCollection;
OF.usersView = new OF.UsersView;

//when the collection is fetched
$.when(OF.usersCollection.fetch({
data: {
"admin": OF.login.attributes.admin,
"session": OF.login.attributes.session
},
success: function(){
//console.log(OF.usersCollection.length);
}

//then render the view
})).then(function(){

OF.usersView.render();
}, 300);

});

},

这是将通过提取检索的 JSON:

{ “全部用户”: [ { “用户名”:“测试员”, “邮件列表”:“1”, “电子邮件”:“tester@tester.test” }, { “用户名”:“tester2”, “邮件列表”:“1”, “电子邮件”:“tester2@tester.test” }, { “用户名”:“tester3”, “邮件列表”:“0”, “电子邮件”:“tester3@tester.test” } ]

提前致谢

最佳答案

我遇到了同样的错误,并为此苦苦思索了很长一段时间,因为 backbone 对我来说是个新手,这加剧了获取问题。无论如何,我最终发现顺序很重要。呸! (我认为在使用 CoffeeScript 和“类”语句时不太明显。)对于我的一个模型,我在模型之前设置了集合(感谢 Backbone.js on Rails 一书中的错误示例代码)。我撤销了它,这个错误消失了,揭示了我真正的获取问题。

同样,您的 model: 属性可能由于这个原因或其他原因而无效,从而在稍后尝试引用时将其保留为未定义状态。

旁注:我在 Backbone 1.0.0 中遇到了类似的错误。当我升级到 Backbone 1.1.0 时,我在主干代码的同一点得到了这个确切的错误。

关于javascript - Backbone targetModel = undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20621503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com