这条通知是否“标识符'gridOptions'指向componentAngular的私有成员”是否告诉我我没有遵循编码最佳实践?

时间:2019-04-16 13:59:15

标签: html node.js angular typescript ag-grid

我正在使用ag-grid作为框架来构建网格(显然)。
我遵循了一个简单的教程。所以这是到目前为止的代码,

  

typography.component.html   enter image description here

     

typography.component.ts

import {Component} from "@angular/core";
import {GridOptions} from "ag-grid-community";


@Component({
    selector: 'typography-cmp',
    moduleId: module.id,
    templateUrl: 'typography.component.html'
})

export class TypographyComponent {
    private gridOptions: GridOptions;

    constructor() {
        this.gridOptions = <GridOptions>{};
        this.gridOptions.columnDefs = [
            {
                headerName: "ID",
                field: "id",
                width: 100
            },
            {
                headerName: "Value",
                field: "value",
                width: 100
            },

        ];
        this.gridOptions.rowData = [
            {id: 5, value: 10},
            {id: 10, value: 15},
            {id: 15, value: 20}
        ]
    }
}  

这很完美。但是,您可能已经在html文件中注意到了

  

gridOptions

下为红色。 这就是为什么:

  

标识符'gridOptions'是指组件的私有成员

这是可以理解的。我正在关注官方教程。我想知道代码是否违反了任何编码规则或最佳做法?
谢谢。

1 个答案:

答案 0 :(得分:0)

在模板中使用gridOptions时,不应将其声明为private变量。

有关更多信息,请参见:Angular2 - should private variables be accessible in the template?

另一个线程仍在GitHub上开放,但是您将获得更多有关此的想法:Better offline compiler error when accessing private properties