如何解决“未捕获的错误:无法解析绑定”?

时间:2013-08-19 10:35:26

标签: knockout.js single-page-application

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

  

未捕获错误:无法解析绑定。
  消息: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的点击事件?我在哪里弄错了?

1 个答案:

答案 0 :(得分: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 DEMO