无法实例化 ColDef 变量
Posted
技术标签:
【中文标题】无法实例化 ColDef 变量【英文标题】:Trouble instantiating ColDef variable 【发布时间】:2021-11-30 10:08:48 【问题描述】:我正在努力在 TypeScript 中创建一个局部变量。 ColDef 是 agGrid 中的一种类型。
我可以创建一个 ColDefs 数组,只需一个条目,然后抓取它...... 但我似乎无法简单地得出正确的语法
import ColDef from 'ag-grid-community';
foo()
let try1 = new ColDef( field : this.fieldName); //get error
let try2 = new ColDef( this.fieldName ); //get error
const try3 = new ColDef( this.fieldName ); //get error
let myCDs : ColDef[] = [
field : this.fieldName
];
let myCD : ColDef = myCDs[0]; //and yet this works...
无论我尝试什么,我都会得到
src/app/helpers/agGrid/AgColDef.ts(20,31) 中的错误:错误 TS2693:“ColDef”仅指一种类型,但在此处用作值。
仅声明 1 个 ColDef 对象的正确语法是什么?
(我意识到这是一个新手 TS 问题,所以 tyia)
【问题讨论】:
【参考方案1】:您正在尝试使用Interface
就像class
。
export interface ColDef 扩展 AbstractColDef、IFilterDef ColDef github
如果你想为一个接口创建一个对象:
let obj: ColDef = /* properties */
这是可行的,因为创建的对象只需要 ColDef 接口中指定的一组属性。
【讨论】:
vaira - 你从哪里决定 ColDef 是一个接口?我翻遍了手册,但从未真正看到过声明。 ag-grid.com/angular-data-grid/column-properties 很高兴看到声明。现在我的类返回一个 ColDef,最好是“成为”一个 ColDef 并实现定义。 我已经在答案中附加了链接,在同一个文件的第 104 行中,您可以看到它的接口。该手册不是用来说明底层实现的内容,您只能在存储库中找到它,或者在您的项目中您可以从模块中找出它。 我忽略了那个链接,再次感谢,以上是关于无法实例化 ColDef 变量的主要内容,如果未能解决你的问题,请参考以下文章