билда таблички который вызывается в OnInit и внутри этого метода есть конфиг содержащий свои методы, и по какой-то причине эти методы продолжают вызываться при скроловых или любых других действиях на странице, в чем может быть причина того, что метод продолжает вызываться?
Компонент рендерится на каждый чих ? Срабатывает онинит
Как ни странно OnInit отрабатывает только один раз так, как и нужно
покажите код.
ngOnInit(): void { console.log("ngOnInit") this.buildTable(); this.dateNow.add(1, 'month').add(15, 'days'); } buildTable(): void { this.locale = this.translateService.currentLang; if (this.locale === 'en') { this.contractor = ['contractor', 'surnameEng']; this.manager = ['manager', 'surnameEng']; } else { this.contractor = ['contractor', 'surnameUk']; this.manager = ['manager', 'surnameUk']; } const contractorField = field(this.getContractorWithPositionArguments, null, ContractorWithPositionComponent); const officeField = field((a: AssignmentDashboardModel) => this.localize(a.contractor.office)); const projectField = field(this.getProjectWithRoleHrefArguments, undefined, ProjectWithRoleComponent); const managerField = field(this.getManagerContractorHrefArguments, undefined, OptionalContractorHrefComponent); const commentField = field(this.getCommentArguments, 'comment-style', InlineEditingCommentComponent); this.responsiveListConfig = { data$: this.dashboard$.asObservable(), card: null, getActions: this.getActions, table: table( [ col('shrink', 'ProjectsModule.AssignmentsDashboard.Contractor', contractorField, {sorted: true, typeSort: 'unsorted', sortColumnName: this.contractor}), col('shrink', 'ProjectsModule.AssignmentsDashboard.Project', projectField, {sorted: true, typeSort: 'asc', sortColumnName: this.projectName}), col('shrink', 'ProjectsModule.AssignmentsDashboard.Status.Title', this.getStatusField(), {sorted: true, typeSort: 'unsorted', sortColumnName: this.status}), col('shrink', 'ProjectsModule.AssignmentsDashboard.Term.Title', this.getTermField()), col('shrink', 'ProjectsModule.AssignmentsDashboard.Payed.Title', this.getPayedField(), {sorted: true, typeSort: 'unsorted', sortColumnName: this.payed}), col('shrink', 'ProjectsModule.AssignmentsDashboard.Manager', managerField, {sorted: true, typeSort: 'unsorted', sortColumnName: this.manager}), col('stretch', 'ProjectsModule.AssignmentsDashboard.Comment', commentField), col('shrink', 'ProjectsModule.AssignmentsDashboard.Office', officeField), ], ), }; }
Обсуждают сегодня