将attr.data从组件中的变量发送到index.html中包含的外部javascript

时间:2019-11-13 03:00:18

标签: javascript html angular

大家好,我是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调用完成后将数据添加到脚本中?

谢谢。

0 个答案:

没有答案