У меня есть выпадающий список категорий (в родительских js), чья подкатегория заполняет как загрузку родительской страницы, так и изменение выпадающего списка. Подкатегория заполнится из дочернего метода js. Мне нужно создать дочерний экземпляр js дважды. при загрузке страницы и при изменении выпадающего списка.
Я не хочу создавать объект в document.ready или как глобальную переменную
где я должен создать дочерний объект класса точно, чтобы его можно было использовать повсюду?
проблема в том, что jquery не позволяет мне звонить
$.getScript('../Reports/assets/js/BookingReports.js'
дважды, так как при отправке сообщения об ошибке этот идентификатор дочернего класса (BookingReports) уже создан.
class ReportsInterface extends ReportBase {
constructor() {
super();
this.fillSubCategory;
}
init() {
this.Categories();
}
Categories() {
//fill category
this.FillSubCategory();
}
FillSubCategory() {
if(!this.fillSubCategory) {
$.getScript(
'../Reports/assets/js/BookingReports.js',
function() {
this.fillSubCategory=new FillSubCategory("1");
obj.GetSubCategory();
}
)
}
}
}
$(document).ready(function() {
$("#ddlcategory").on('change', function() {
(new ReportsInterface()).showReportBooking();
})
})
Я также пытался сохранить объект в свойстве родительского класса, но позже не смог использовать его в качестве объекта. как я могу вызвать метод дочернего класса дважды без создания какой-либо глобальной переменной?