Knockout.JS $元素数据绑定变量是未定义的?

时间:2013-07-25 03:00:05

标签: javascript data-binding knockout.js

我有一个使用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 未定义。有人见过这种情况吗?如果是这样,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

问题是由于旧版KnockoutJS造成的。 $ element是一项新功能。我将KnockoutJS软件包更新到最新版本,现在可以使用了。