gpt4 book ai didi

javascript - 主干 -> 无法调用未定义的方法 'remove'

转载 作者:行者123 更新时间:2023-11-30 06:40:27 25 4
gpt4 key购买 nike

我的应用程序是使用 Backbone 构建的。尝试在模型上使用 destroy() 时遇到问题,这是我在 chrome 中得到的错误堆栈:

Uncaught TypeError: Cannot call method 'remove' of undefined backbone-min.js:34
f.extend.remove backbone-min.js:34
g.Events.trigger backbone-min.js:9
f.extend.destroy.d backbone-min.js:14
f.extend.destroy backbone-min.js:14
Backbone.Model.extend.remove ticketModel.js:21
Backbone.View.extend.deleteTicket ticketListView.js:44
b.each.b.forEach underscore-min.js:11
Backbone.View.extend.deleteTicketTickets ticketListView.js:49
f.event.dispatch jquery-1.7.2.min.js:3
f.event.add.h.handle.i

知道这可能是什么吗?

导致错误的代码实际上只是:

model.destroy();

模型确实包含一个模型作为 console.log(model) 将对象按应有的方式记录到控制台。

这是模型定义:

define([
'apiEndpoint'
],function(apiEndpoint) {
var TicketModel = Backbone.Model.extend({
url: apiEndpoint.url,

isTicket : function(){
return ( this.type === 'ticket') ? true : false;
},

isTask : function(){
return ( this.type === 'task') ? true : false;
},

//Tells you if the view is selected for bulk actions
defaults : {
isSelected: false
},

remove : function(){
this.destroy({success: function(){
console.log('success');
}});
}

});
return TicketModel;
});

最佳答案

在您看来,为什么要调用 model.destroy();?我认为您必须调用 model.remove(); 因为这是您要销毁的自定义方法。

看起来在您的 View 中您正在调用 model.destroy() 和稍后的 model.remove,但是因为您已经销毁了您的模型,所以现在您正在尝试调用 undefined object 的移除方法。

关于javascript - 主干 -> 无法调用未定义的方法 'remove',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11686864/

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