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



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

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 错误,所以我会跟踪数组中已初始化的元素。这样,用户可以毫无问题地打开同一模式两次。

相关内容

最新更新