我有这个示例代码:
为什么未将年份传递给initGridOptions
函数?怎么做才能在那里看到它?
我试图公开但是没有用。
我不太明白是否有必要使函数initGridOptions
privateю。
export class JobTimePhasingComponent implements OnInit, ComponentHasUnsavedChanges {
public key: string = "timePhasing";
public year: string;
job: JobViewModel;
constructor(
private router: Router,
private toastr: ToastsManager
) {
this.initGridOptions();
}
ngOnInit(): void {
this.refresh();
}
private initGridOptions(): void {
...
colDefs.push({
headerName: this.year, (UNDEFINED)
field: "data.Total",
valueGetter: cellTotalValueGetter,
width: 100,
});
}
refresh(): void {
let jobId = +this.route.snapshot.parent.params['id'];
this.jobService.getJob(jobId).then(result => {
this.fy = result.Object.FinancialYearName;
});
}
答案 0 :(得分:0)
这与参数或函数的可访问性无关,因为在这些情况下,当您的问题是显示参数undefined
时,您会收到编译错误。
根据您的问题,您只需初始化变量即可。您可以在定义它的确切位置执行此操作:
year: string = ''; // or any other proper initial value
或者可能在OnInit
中,有时在constructor
中,最好只留下后者注入依赖注入,如下所示:
this.year = ''; // or any other proper initial value
然后你可以放心,如果你在初始化后的任何地方使用它,至少它有一个值。