gpt4 book ai didi

javascript - BackboneJS View - 未捕获类型错误 : Cannot read property 'get' of undefined

转载 作者:行者123 更新时间:2023-12-02 23:15:18 24 4
gpt4 key购买 nike

我有以下主干 View ,其渲染函数如下所示:

render: function () {
this.emptyContent();
if (this.model.get('ChatsInQueue') == -1) {
this.model.set('ChatsInQueue', '-');
}
this.$el.append(this.template({ Stats: this.model.toJSON(), Prior: this.model.get('PriorDayStats') }));

var self = this;
this.graphView.model.fetch({

success: function () {
self.graphView.render(this.model.get("TotalCalls"), this.model.get("CallsAbandoned"));
}
});
this.tickerTapeText();
$(window).trigger('resize');

但是,当我运行该应用程序时,我收到以下控制台错误:

Uncaught TypeError: Cannot read property 'get' of undefined
at success

有人可以帮助我诊断我的成功函数需要更改什么以便定义“get”吗?

最佳答案

JavaScript 的 function 绑定(bind)自己的 this,它与创建它的上下文的 this 不同。在 ES6 中,arrow functions被引入作为不绑定(bind)自己的 this 的函数的替代方案(除其他外,请参阅 MDN Web 文档)。

您已经通过声明变量 self 并将 this 分配给它并将其用于 self.graphView.render 调用来解决这个问题。但是,在参数中,您仍然使用 this 而不是 self。在那里也使用 self ,或者如果您的环境实现了箭头函数,则更好地使用它们。 Current browsers should already support them .

关于javascript - BackboneJS View - 未捕获类型错误 : Cannot read property 'get' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57189198/

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