使用带有 Angular 5 的 Zurb Foundation 6 编译时错误:错误 TS2339:属性 'Reveal' 在类型 'FoundationStatic' 上不存在

Compile time error using Zurb Foundation 6 with Angular 5: error TS2339: Property 'Reveal' does not exist on type 'FoundationStatic'

在我的组件中,我正在初始化基础

ngOnInit() {
  $(document).foundation();
}

而且我有一个用于打开和关闭我的模式的点击处理程序

openOtherIncomeSelect(category) {
  let modal = new Foundation.Reveal($('#'+category));
  modal.open();
}

closeOtherIncomeModal(category, action) {
  let modal = new Foundation.Reveal($('#'+category));
  modal.close();
  $('.reveal-overlay').remove();
 }

一切正常,但我对 Foundation.Reveal()

的两个引用均出现编译时错误
error TS2339: Property 'Reveal' does not exist on type 'FoundationStatic'.

虽然这不是我的问题的直接解决方案,但我找到了一个可接受的解决方法。我在 ts 中打开模式的更新和工作处理程序是

openOtherIncomeSelect(category) {

  if (this.openedModals.indexOf(category) === -1) {
    this.openedModals.push(category);
    $('#'+category).foundation();
  }

  let modalElement = $('#'+category);
  modalElement.foundation('open');

}

closeOtherIncomeModal(category, action) {
  let modalElement = $('#'+category);
  modalElement.foundation('close');
 }

请注意,使用这种方法,我需要在每个模态元素(本页上有几个)上初始化基础,然后才能对其进行操作。由于如果我在同一个元素上初始化 foundation 两次,我会收到 JS 错误,所以我会跟踪哪些元素已在数组中初始化。这样用户就可以毫无问题地打开同一个模式两次。