在我的应用程序中,我成功地将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的点击事件?我在哪里弄错了?
答案 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>