1

Knockout.js で構築しているオプション リスト要素があります。Knockout.js $elementデータ バインディング変数を Javascript 関数に渡そうとしています。

<!-- ko with: dataList -->
<div class="container">
<div class="setting topic" data-bind="deselectClick: enabled, css: { disabled: enabled() != true, locked: isLocked() == true }">
    <div class="icon" data-bind="style: { backgroundColor: selectedItem().value == '' ? '#1a1a1a' : $parents[1].color }">&nbsp;</div>
    <div class="select" data-bind="deselectClick: enabled, click: changeSelect, text: selectedItem().text">Loading...</div>
</div>
<ul class="selectOptions topicSelects" data-bind="foreach: items, style: { display: showOptions() ? 'block' : 'none' }">
    <li data-bind="text: $parent.checkText($element, name), click: $parent.selectChanged">Loading...</li>
</ul>
</div>
<!-- /ko -->

これを行うと、ブラウザー デバッガーは$elementが未定義であることを示すエラーを表示します。誰もこの状態を見たことがありますか?もしそうなら、どうすればこの問題を解決できますか?

4

1 に答える 1

1

この問題は、古いバージョンの KnockoutJS が原因でした。$element は新機能です。KnockoutJS パッケージを最新バージョンに更新したところ、動作するようになりました。

于 2013-07-25T14:42:35.827 に答える