无法在ngHandsontable中设置未定义的属性'datarows'

时间:2016-06-13 20:03:28

标签: javascript angularjs angularjs-directive handsontable

我的ngHandsontable组件有问题:我收到此错误:

  

无法设置未定义的属性'datarows'

尝试初始化表格时。我正在使用的代码是:

<hot-table rowHeaders="true" startRows= "7" manualColumnResize="true" datarows="td"
                           settings="{  colWidths: [150, 150, 150, 150,150], colHeaders: colHeaders, contextMenu: ['row_above', 'row_below', 'remove_row'], afterChange: afterChange }">
  <hot-column data="COLUMN_1" title="'COLUMN_1'"></hot-column>
  <hot-column data="COLUMN_2" title="'COLUMN_2'"></hot-column>
  <hot-column data="COLUMN_3" title="'COLUMN_3'"></hot-column>
  <hot-column data="COLUMN_4" title="'COLUMN_4'"></hot-column>
  <hot-column data="COLUMN_5" title="'COLUMN_5'"></hot-column>
</hot-table>

在控制器中:

$scope.td = [{
    'COLUMN_1': ''
}];

请注意,settings对象具有一些默认属性,这些属性在我的控制器中不存在(colHeadersafterChange)。我几乎尝试了一切:我删除了settings属性,datarows属性,所有属性!没有任何错误更改。

查看ngHandsontable的源代码我发现这是有问题的一行:

angular.forEach(bindingsKeys, function(key) {
  var mode = _this.scope[key].charAt(0);

  _this.$$isolateBindings[key] = {
    attrName: _this.scope[key].length > 1 ? _this.scope[key].substr(1, _this.scope[key].length) : key,
    collection: key === 'datarows',
    mode: mode,
    optional: false
  };
});

错误是_this.$$isolateBindings[key]未定义_this.$$isolateBindings

我对此一无所知,我发现我的情况下的配置与指令的示例略有不同。

我实际上使用的是0.9.0版本,以及Handsontable 0.23.0(免费)和AngularJS 1.2.28。

我在这里缺少什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

我刚刚发现了这个:

https://github.com/handsontable/ngHandsontable/blob/develop/index.html#L69

  

注意:ngHandsontable支持版本1.3及更高版本的角度。

这是因为您使用的较旧的Angular版本。我刚升级到Angular 1.5.8,然后就可以了。