Javascript 无法设置属性';数据行';ngHandsontable中未定义的
我的组件有问题:我遇到以下错误: 无法设置未定义的属性“datarows” 尝试初始化表时。我使用的代码是:Javascript 无法设置属性';数据行';ngHandsontable中未定义的,javascript,angularjs,angularjs-directive,handsontable,Javascript,Angularjs,Angularjs Directive,Handsontable,我的组件有问题:我遇到以下错误: 无法设置未定义的属性“datarows” 尝试初始化表时。我使用的代码是: <hot-table rowHeaders="true" startRows= "7" manualColumnResize="true" datarows="td" settings="{ colWidths: [150, 150, 150, 150,150], colHeaders: colHeaders, context
<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>
请注意,settings
对象具有一些默认属性,这些属性在我的控制器中不存在(colHeaders
和afterChange
)。我尝试了几乎所有的方法:我删除了设置属性、数据行属性和所有属性!错误消息中没有任何更改
查看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
};
});
错误在于\u此。$$isolateBindings[key]
未定义。$$isolateBindings未定义
关于这一点我没有任何线索,我发现本例中的配置与指令示例略有不同
实际上,我使用的是0.9.0版本,还有Handsontable 0.23.0(免费)和AngularJS 1.2.28
我错过了什么
谢谢。我刚刚发现:
注:在1.3版及更高版本中,ngHandsontable支持角度
这是因为您使用的是较旧的角度版本。我刚刚升级到Angular 1.5.8,然后它就可以工作了。ngHandsontable 0.12.0也有同样的问题。太棒了!我没有找到那个评论。对此的“解决方案”是不使用库。由于不兼容,我想我必须等到升级到新的Angular版本。非常感谢。
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
};
});