Javascript KnockoutJS单击绑定从未调用 函数UserModel(){ self.forgeTransactions=函数(){ log(“forgeTransaction()”); } self.navigateToNew()=函数{ log(“navigateToNew()”); } } applyBindings(newusermodel()); 添加虚假交易

Javascript KnockoutJS单击绑定从未调用 函数UserModel(){ self.forgeTransactions=函数(){ log(“forgeTransaction()”); } self.navigateToNew()=函数{ log(“navigateToNew()”); } } applyBindings(newusermodel()); 添加虚假交易,javascript,knockout.js,Javascript,Knockout.js,这段代码的问题是永远不会调用forgeTransaction,而如果我将click绑定更改为navigateToNew,我可以在控制台上清楚地看到“NavigateTo” 为什么会这样 注意:如果需要,我可以附加整个源代码。您的函数名为forgeTransactions,但您正试图在按钮数据绑定中调用forgeTransaction。您的函数名为forgeTransactions,但您正试图在按钮中调用forgeTransaction数据绑定。你应该写数据绑定=非数据绑定:你应该写数据绑定=非数

这段代码的问题是永远不会调用forgeTransaction,而如果我将click绑定更改为navigateToNew,我可以在控制台上清楚地看到“NavigateTo”

为什么会这样


注意:如果需要,我可以附加整个源代码。

您的函数名为
forgeTransactions
,但您正试图在按钮数据绑定中调用
forgeTransaction

您的函数名为
forgeTransactions
,但您正试图在按钮中调用
forgeTransaction
数据绑定。

你应该写
数据绑定=
数据绑定:
你应该写
数据绑定=
数据绑定:

那只是一个输入错误,对不起。那只是一个输入错误,对不起。你在哪里定义自我?你在哪里定义自我?+1。另外,括号不一致
self.forgeTransactions=function()
vs
self.navigateToNew()=function
尽管我写这个问题时有很多拼写错误,但这个拼写错误在原始html文件中。+1。另外,括号不一致
self.forgeTransactions=function()
vs
self.navigateToNew()=function
尽管我写这个问题时有很多拼写错误,但这个拼写错误在原始html文件中。
function UserModel() {
    self.forgeTransactions = function() {
        console.log("forgeTransaction()");
    }

    self.navigateToNew() = function {
        console.log("navigateToNew()");
    }
}

ko.applyBindings(new UserModel());

<button class="btn" style="float: right" data-bind:"click: forgeTransactions">Add fake transaction</button>