我是 knockout.js 的新手,在foreach部分中绑定时遇到问题。我收到错误:
未捕获的错误:无法解析绑定。消息:ReferenceError:hideSearchElements 未定义;绑定值:点击:hideSearchElements
这是html的一个应用:
<div id="searchResults" data-bind="visible: searchIsVisible">
<label id = "lblSearchResults">select a template:</label>
<div data-bind="foreach: titles">
<div data-bind="text: Title"></div>
<div data-bind="click: hideSearchElements">hide</div>
</div>
并从 viewModel 中发挥作用:
var viewModel = function () {
this.searchIsVisible = ko.observable(true);
this.showSearchElements = function () {
this.searchIsVisible(true);
};
this.hideSearchElements = function (
this.searchIsVisible(false); }
}
return new viewModel();
我在 foreach 块之外的showSearchElements和hideSearchElements都可以正常工作,但是在里面时,我得到了错误。
如果我添加$parent.hideSearchElements
,我可以绑定,但会收到错误消息:
Uncaught TypeError: Object # has no method 'searchIsVisible' 。
我可能有两个不同的问题,但认为细节可能会有所帮助:)
我很想知道这里发生了什么?有人可以帮忙吗?
文档中相关页面的链接也将非常有帮助 - 我现在正在阅读。
谢谢