Backbone.js 无法通过typescript在backboneJS中启动单击事件
这是一个用Typescript编写的主干项目。我无法启动BackboneJS复选框的单击事件。代码如下: //主干代码Backbone.js 无法通过typescript在backboneJS中启动单击事件,backbone.js,typescript,Backbone.js,Typescript,这是一个用Typescript编写的主干项目。我无法启动BackboneJS复选框的单击事件。代码如下: //主干代码 events = { "click .add-new-question-box": "clickEvent" }; clickEvent(){ console.log(this.model.get("question")) alert(this.model.get("question")); } //h
events = {
"click .add-new-question-box": "clickEvent"
};
clickEvent(){
console.log(this.model.get("question"))
alert(this.model.get("question"));
}
//html模板
<input id="<%= typeId %>" type="checkbox" class = "add-new-question-box">
一个要考虑的事情是<代码>这个< /代码>可能是错误的。尝试使用lambda:
clickEvent = ()=>{
console.log(this.model.get("question"))
alert(this.model.get("question"));
}
你有更多的JavaScript可以展示吗?你所展示的还不够。事实上,它在上下文之外看起来并不正确。它是用Typescript编写的,而不是javascript。所以“this”应该没问题。lambda存在于typescript中而不是javascript:)无论如何,原因是
this
可能仍然会出错,例如,如果您传递一个类的成员函数,this
取自调用上下文(可能不是类),除非您使用闭包捕获它(哪种lambda语法适合您)我已经完成了您所说的修复。我还在另一段代码中复制了该问题,但仍然不起作用。请参阅更新的问题。这将使您更容易解决它。我感谢您的帮助。
Rendered
clickEvent = ()=>{
console.log(this.model.get("question"))
alert(this.model.get("question"));
}