Привет. Я пытаюсь использовать боковое меню для прокрутки от одного компонента к другому.У меня есть главное приложение на моей домашней странице, и я создал службу, чтобы попытаться передать некоторые данные, но я просто не могу инициировать прокрутку из моего сервиса.У меня есть боковое меню внутри моего app.component.
App.Component.ts
ScrollToPoint(x: number, y: number, duration: number) {
this.content.scrollToPoint(x, y, duration);
}
scrollToSection(num: number) {
switch (num) {
case 1:
console.log('switch case 1 was clicked');
console.log(this.aboutSec);
this.ScrollToPoint(0, this.aboutSec - 100, 1500);
break;
case 2:
this.ScrollToPoint(0, this.serviceSec - 100, 1500);
break;
case 3:
this.ScrollToPoint(0, this.contactSec - 100, 1500);
break;
}
}
ngDoCheck() {
this.homeService.aboutSection$.subscribe((data) => {
this.aboutSec = data;
console.log('this is the about section - ' + this.aboutSec);
});
if (window.screen.width < 1200) { // 768px portrait
this.mobile = true;
} else {
this.mobile = false;
}
}
home.page.ts
constructor(
private modalCtrl: ModalController,
private homeService: HomeService
) {}
ngDoCheck() {
this.homeService.aboutSection(this.aboutSec);
}
ScrollToBottom() {
this.content.scrollToBottom(1500);
}
ScrollToTop() {
this.content.scrollToTop(1500);
}
ScrollToPoint(x: number, y: number, duration: number) {
this.content.scrollToPoint(x, y, duration);
}
scrollToSection(num: number) {
switch (num) {
case 1:
this.ScrollToPoint(0, this.aboutSec - 100, 1500);
break;
case 2:
this.ScrollToPoint(0, this.serviceSec - 100, 1500);
break;
case 3:
this.ScrollToPoint(0, this.contactSec - 100, 1500);
break;
}
}
home.service.ts
@Injectable({ providedIn: 'root' })
export class HomeService {
aboutSection$: Observable<any>;
serviceSection$: Observable<any>;
contactSection$: Observable<any>;
private myAboutSubject = new Subject<any>();
private myServiceSubject = new Subject<any>();
private myContactSubject = new Subject<any>();
constructor() {
this.aboutSection$ = this.myAboutSubject.asObservable();
this.serviceSection$ = this.myServiceSubject.asObservable();
this.contactSection$ = this.myContactSubject.asObservable();
}
aboutSection(data: any) {
console.log(data);
this.myAboutSubject.next(data);
}
}
Заранее спасибо!