1

在我的应用程序中,我将数据从 API 绑定到ul成功。但是,我无法让 KO 调用绑定到a标签点击事件的函数。我收到以下错误:

未捕获的错误:无法解析绑定。
消息:ReferenceError:未定义 loadContact;
绑定值:click:loadContact,attr:{title:1}

查看代码:

<ul data-role="listview" id="ListSss" data-divider-theme="b" data-inset="true">
     <li data-role="list-divider" role="heading">
          Criteria Selected
      </li>
      <!-- ko foreach: Contacts  -->
      <li data-theme="c"> 
          <a href="#" data-transition="slide" data-bind="click: loadsss,attr: { title: sss }">
              <span data-bind="text: FName + ' ' + LName + ' (' + Classifiy +':'+ Position+ ')'" ></span>
          </a>
      </li>
    <!-- /ko -->
</ul>

JS代码:

  self.loadsss = function () {
       alert("hi");
    }

由于foreach中存在href链接,这就是为什么我无法触发href的点击事件?我在哪里做错了?

4

1 回答 1

2

问题是,loadContact函数在内部使用for-loop,但loadContact函数是的一部分viewModel,而不是单个接触的一部分。
改为使用$parent.loadContact

  <a href="#" data-transition="slide" data-bind="click: $parent.loadContact,attr: { title: ContactID }">
      <span data-bind="text: FirstName + ' ' + LastName + ' (' + Classification +':'+ Position+ ')'" ></span>
  </a>

JSFiddle 演示

于 2013-08-19T11:17:08.640 回答