Я пытаюсь вызвать функцию showProfileImage (), которая является моим компонентом leftSidebar в компоненте editprofile, чтобы обновить изображение после его обновления, для этого я использую @viewchild и AfterViewInit, но при этом возникает ошибка.1001 *
Я хочу вызвать функцию из функции leftbarComponent showProfileImage в этом компоненте.
EditprofileComponent.ts
export class EditprofileComponent implements OnInit, AfterViewInit {
@ViewChild(LeftbarComponent)
private showPI: LeftbarComponent;
constructor(private authenticationService: AuthenticationService,
private studentService: StudentService,
private urlConfig: AppConfig) {
this.currentUser = this.authenticationService.currentUserValue;
this.getStudent(this.currentUser.id);
}
url = this.urlConfig.apiUrl1 ;
interUrl = this.urlConfig.interUrl1 ;
onFileSelected(event) {
}
ngOnInit() {
}
ngAfterViewInit() {
this.showPI.showProfileImage();
}
getStudent(id: number) {
this.studentService.getAdminInfo(id)
.subscribe(
(data) => {
this.initForm(data[0]);
}
);
}
onSubmit(studentData: any) {
}
}
LeftbarComponent.ts
export class LeftbarComponent implements OnInit {
currentUser: User;
profileImage: any;
constructor(private authenticationService: AuthenticationService,
private dashboarService: DashboardService,
private urlConfig: AppConfig) {
this.currentUser = this.authenticationService.currentUserValue;
}
url = this.urlConfig.apiUrl1 ;
interUrl = this.urlConfig.interUrl1 ;
showProfileImage(): void {
this.dashboarService.getProfileImage(this.currentUser.id)
.subscribe(
(data) => {
this.profileImage = data.image;
});
}
ngOnInit() {
this.showProfileImage();
(function () {
// Toggle Sidebar
const treeviewMenu: any = $('.app-menu');
$('[data-toggle="sidebar"]').unbind('click');
$('[data-toggle="sidebar"]').click(function(event) {
event.preventDefault();
$('.app').toggleClass('sidenav-toggled');
});
// Activate sidebar treeview toggle
$('[data-toggle="treeview"]').unbind('click');
$('[data-toggle="treeview"]').click(function(event) {
event.preventDefault();
if (!$(this).parent().hasClass('is-expanded')) {
treeviewMenu.find('[data-toggle="treeview"]').parent().removeClass('is-expanded');
}
$(this).parent().toggleClass('is-expanded');
});
// Set initial active toggle
$('[data-toggle="treeview."].is-expanded').parent().toggleClass('is-expanded');
})();
}
}