【问题标题】:<!-- ko if: false --> throws Cannot read property '__ko__1380676672381' of null<!-- ko if: false --> throws Cannot read property '__ko__1380676672381' of null
【发布时间】:2013-10-08 08:23:40
【问题描述】:

问题示例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 -->

【问题讨论】:

    标签: javascript knockout.js knockout-sortable


    【解决方案1】:

    编辑:

    我之前的回答不正确,因为可排序绑定需要能够更新数组。所以解决方案是不为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

    【讨论】:

    • 如果您查看此示例 jsfiddle.net/5TJ2f/5 ,您会看到 console is droped 错误中的我无法取回任何内容。
    • 是的,这就是解决方案。但我只是不明白这个错误是故意的还是knockout-sortable 团队需要修复或实施。
    • 非常感谢最后一个链接,现在我明白为什么它不起作用了。
    猜你喜欢
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 2018-01-23
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    相关资源
    最近更新 更多