Javascript 敲除JS错误:";提交绑定的值必须是函数";
我已设置如下视图模型:Javascript 敲除JS错误:";提交绑定的值必须是函数";,javascript,mvvm,knockout.js,knockout-2.0,Javascript,Mvvm,Knockout.js,Knockout 2.0,我已设置如下视图模型: function viewModel() { var self = this; self.voteOnItem = function (sender, e) { .. } . . } var model = new viewModel(); ko.applyBindings(model); 在我看来,我在一个模板中包含以下内容: <script type="text/html" id="X"> <ul id=""
function viewModel() {
var self = this;
self.voteOnItem = function (sender, e) { .. }
.
.
}
var model = new viewModel();
ko.applyBindings(model);
在我看来,我在一个模板中包含以下内容:
<script type="text/html" id="X">
<ul id="" data-bind="foreach:items">
<li>
<div style="float:left;">
<form action='Url' method="post" data-bind="submit:$parent.voteOnItem">
.
.
-
.
.
我得到一个错误“提交绑定的值必须是一个函数”,用于映射到voteOnItem,但voteOnItem显然是一个函数。。。知道为什么会出现错误吗?我会确保在执行
submit
绑定时,您处于正确的范围内
当$parent
没有voteOnItem
属性时(例如,如果您将$parent.blah
),您将看到所得到的错误
一种简单的查看方法是在绑定附近放置一个
,以查看该级别的数据
要验证的另一件事是,您已经关闭了所有标记,并且没有使用任何错误的自动关闭标记,如
我将确保您在执行提交
绑定时处于正确的范围内
当$parent
没有voteOnItem
属性时(例如,如果您将$parent.blah
),您将看到所得到的错误
一种简单的查看方法是在绑定附近放置一个
,以查看该级别的数据
要验证的另一件事是,您已经关闭了所有标记,并且没有使用任何错误的自动关闭标记,如
,我将确保您在执行提交绑定时处于正确的范围内。当$parent
没有voteOnItem
属性时(例如,如果您将$parent.blah
),您将看到所得到的错误。一种简单的查看方法是在绑定附近放置一个
,以查看该级别的数据。要验证的另一件事是,您已经关闭了所有标记,并且没有使用任何错误的自动关闭标记,如
,我将尝试JSON技巧。。。谢谢。@RPNiemeyer就是这样,非常感谢!如果你愿意,把你的答案复制到一个帖子上,我会把它标记为答案。我会确保你在提交绑定时在正确的范围内。当$parent
没有voteOnItem
属性时(例如,如果您将$parent.blah
),您将看到所得到的错误。一种简单的查看方法是在绑定附近放置一个
,以查看该级别的数据。要验证的另一件事是,您已经关闭了所有标记,并且没有使用任何错误的自动关闭标记,如
,我将尝试JSON技巧。。。谢谢。@RPNiemeyer就是这样,非常感谢!如果您愿意,请将您的答案复制到帖子,我将其标记为答案。要添加,在我的上下文中,我必须使用$root才能进入更高的范围。要添加,在我的上下文中,我必须使用$root才能进入更高的范围。