使用带有 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 错误,所以我会跟踪哪些元素已在数组中初始化。这样用户就可以毫无问题地打开同一个模式两次。
在我的组件中,我正在初始化基础
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 错误,所以我会跟踪哪些元素已在数组中初始化。这样用户就可以毫无问题地打开同一个模式两次。