我想知道为什么 _.bindAll(this, ['onSortRemove']); 在下面的代码(1)中会出现以下错误:

未捕获的类型错误:对象[对象窗口]没有方法'resetItemViewContainer'

为了让事情正常工作,我需要实现以下代码 _.bindAll(this);.

我的问题是:应该 _.bindAll(this, ['onSortRemove']); 足够?如果没有,为什么?


(1)

    initialize: function () {
        _.bindAll(this, ['onSortRemove']); // it does not work
        _.bindAll(this); // it works
     }

    onSortRemove: function () {
        setTimeout(this.render, 0);
    }
有帮助吗?

解决方案

语法错误


initialize: function () {
  _.bindAll(this, 'onSortRemove'); // <- no array wrapper
}

该文档的语法为 [*methodnames] 并不是说“将其包装在数组中”。这是老式的文档风格,表示“方法名称是可选的,它可以是零个或多个参数,以逗号分隔”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top