抛出无法读取属性'__ko__1380676672381'的null

时间:2013-10-02 01:34:19

标签: javascript knockout.js knockout-sortable

问题示例jsFiddle

问题:
如果!!$data.Visible() == false则会抛出此错误

错误:

Uncaught TypeError: Cannot read property '__ko__1380676672381' of null knockout-2.3.0.debug.js:578

此处出现错误:

getAll: function (node, createIfNotFound) {
            var dataStoreKey = node[dataStoreKeyExpandoPropertyName];

代码:

<!-- ko if: !!$data.Visible() -->
    <div class="row-column" data-bind="text: $parent[$data.Key], attr: { style: 'width: ' + $data.Width() + 'px' }"></div>
<!-- /ko -->

1 个答案:

答案 0 :(得分:2)

编辑:

我以前的回答是不正确的,因为可排序的绑定需要能够更新数组。因此,解决方案是不使用虚拟元素进行if绑定。

<div data-bind="if: $data.Visible()">
    <div>Im visible</div>
</div>

http://jsfiddle.net/mbest/5TJ2f/6/

参考文献:https://stackoverflow.com/a/14219177/1287183https://github.com/rniemeyer/knockout-sortable/issues/58