2

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

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 显然是一个函数......知道为什么会出错吗?

4

1 回答 1

4

submit当您进行绑定时,我会确保您处于正确的范围内。

你得到的错误是你在$parent没有voteOnItem属性时会看到的(比如你放$parent.blah)。

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

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

于 2012-05-10T02:38:24.527 回答