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

时间:2018-03-09 06:07:49

标签: angular typescript zurb-foundation

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

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'.

1 个答案:

答案 0 :(得分:0)

虽然不能直接解决我的问题,但我找到了一个可接受的解决方法。我在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');
 }

请注意,使用这种方法,我需要在操作之前初始化每个模态元素的基础(我在此页面上有几个)。因为我在同一个元素上初始化基础两次得到JS错误,所以我要跟踪哪些元素已在数组中初始化。这样用户可以毫无问题地打开相同的模态两次。