【问题标题】:Trouble instantiating ColDef variable无法实例化 ColDef 变量
【发布时间】: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)

【问题讨论】:

    标签: typescript ag-grid-angular


    【解决方案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 行中,您可以看到它的接口。该手册不是用来说明底层实现的内容,您只能在存储库中找到它,或者在您的项目中您可以从模块中找出它。
    • 我忽略了那个链接,再次感谢,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2015-04-26
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多