大家好,我是Angular的新手。 我目前正在尝试使用从api调用中获取的数据,并将其分配给变量,该变量用于attr.data链接到index.html中包含的外部脚本。
我假设index.html首先沿着外部脚本加载,导致它没有所需的数据,因此返回undefined。必须从调用api的组件中检索数据并返回数据,这需要更长的加载时间。
index.html中包含的外部脚本
var newYear = new Date();
newYear = new Date(newYear.getFullYear() + 1, 1 - 1, 1);
$('#countdown').ready(function() {
var year = $('#countdown').attr('data-year');
var month = $('#countdown').attr('data-month');
var day = $('#countdown').attr('data-day');
console.log($(this).attr('data-year')); // for testing and it is undefined.
});
组件HTML admin.html
<div id="countdown" [attr.data-year]="Year" [attr.data-month]="Month" [attr.data-day]="Day"></div>
组件Ts文件admin.ts
export class AdminComponent implements OnInit {
aoyYear: number;
aoyMonth: number;
aoyDay: number;
constructor(
private mainServices: MainServices
) { }
ngOnInit() {
this.getGeneralInfo();
}
getGeneralInfo() {
this.mainServices.getGeneral().subscribe(data => {
this.Year = Number(data[2]);
this.Month = Number(data[0]);
this.Day = Number(data[1]);
});
}
}
我如何才能使index.html的加载等待api调用完成,或者有没有办法在api调用完成后将数据添加到脚本中?
谢谢。