Knockout点击数据绑定不激活

时间:2014-10-22 17:44:03

标签: knockout.js

我知道这对你来说一定非常容易。但我一直在寻找这个代码几个小时,看不出我做错了什么。

我在单击列表项时会尝试显示2输入。但没什么用。 所以我尝试了一个带有点击事件的简单按钮。但它仍然没有发射。你能告诉我我的代码有什么问题吗?

<!--HTML-->
<input type="button" data-bind="click: $root.onClick">

//JS
//that the basic. the full code in jsfiddle
function Workers(){
        self = this;
        self.onClick = function() {
            alert('2');
        };
    }

    ko.applyBindings(new Workers());

http://jsfiddle.net/cr7cy36m/

万分感谢! 然

1 个答案:

答案 0 :(得分:4)

您需要使用self声明var本地变量而不是全局变量:

function Workers(){
    var self = this;
    self.onClick = function() {
        alert('2');
    };
}

如果没有var,则该函数中的selfself函数中的Worker相同,因此其值会被{{1}覆盖}版本。

请参阅http://jsfiddle.net/cr7cy36m/1/