挖空 JS 错误:“提交绑定的值必须是函数”

Knockout JS Error: "The value for a submit binding must be a function"

本文关键字:函数 绑定 错误 JS 提交 挖空      更新时间:2023-09-26

我已经设置了一个这样的视图模型:

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">
      .
      .

我收到一个错误"提交绑定的值必须是一个函数"才能映射到投票项目,但投票项目显然是一个函数......知道为什么错误吗?

我会确保你在执行submit绑定时处于正确的范围内。

您得到的错误是当$parent没有voteOnItem属性时会看到的错误(例如,如果您输入$parent.blah)。

一种简单的查看方法是在绑定附近放置一个<div data-bind="text: ko.toJSON($parent)"></div>,以查看该级别的数据。

要验证的另一件事是,您已经关闭了所有标签,并且没有使用任何错误的自闭合标签,例如 <span /> .