Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 无法通过typescript在backboneJS中启动单击事件_Backbone.js_Typescript - Fatal编程技术网

Backbone.js 无法通过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

这是一个用Typescript编写的主干项目。我无法启动BackboneJS复选框的单击事件。代码如下:

//主干代码

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"));
    }