私は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:オブジェクト#にはメソッド'searchIsVisible'がありません。
私はおそらく2つの明確な問題を抱えていますが、詳細が役立つかもしれないと思いました:)
ここで何が起こっているのか理解したいですか?誰か助けてもらえますか?
ドキュメントの関連ページへのリンクも非常に役立ちます-私は今それを読んでいます。
ありがとう