2
ng2-page-scrollモジュールを使用するナビゲーションメニューがあります。角2 - サービスを実行する前にブール値がtrueになるのを待つ
ハッシュタグリンクを使用してトラフページをスクロールします。
問題があるのは、私がクロスルートを操作すると、データが読み込まれるまでに時間がかかるため、通常はサービスが自分のセクションにスクロールするため、データ全体が読み込まれるよりも重要です。そのため、ユーザは、間にあるセクションに移動するために全面的にスクロールする必要があります。これにより、メニュー全体が役に立たなくなります。
だから私は、「スクロール」ページにboolsを設定するために、すべてのセクションに持つEventEmitterを使用して、すべての良い...
しかし、私は真オンにするallDataLoaded
ブールのを待つのか分かりませんよ。
私はこれが私のコードは、これまでどのように見えるかである約束
を使用しようとしました。ルートセグメントルートセグメント
homeLoaded: boolean = false;
contactLoaded: boolean = false;
aboutLoaded: boolean = false;
allDataLoaded: boolean = false;
ngOnInit() {
// other code here
this.route.queryParams.forEach((params: Params) => {
if (params['scrollTo']) {
this.checkIfDataLoaded().then(() => {
this.scrollToSection(params['scrollTo']);
});
}
});
}
checkIfDataLoaded() {
if (this.homeLoaded && this.contactLoaded && this.aboutLoaded) {
//this.allDataLoaded = true;
return new Promise((resolve, reject) => {
resolve(true);
});
}
}
012を使用してコンポーネントの
<componentOne (dataLoadedEvent)="homeLoaded = true; checkIfDataLoaded()"></componentOne>
TSを使用してナビゲーションメニューコンポーネント成分の
<a [routerLink]="['']" [queryParams]="{ scrollTo: '#home' }">
<a [routerLink]="['']" [queryParams]="{ scrollTo: '#contact' }">
<a [routerLink]="['']" [queryParams]="{ scrollTo: '#about' }">
HTMLの
HTMLブール値がfalse/trueをオンにするのを待っているときの約束を使用する適切な方法は何DRを、ギュンター・Zöchbauerとして
は、コードがTypeError: Cannot read property 'then' of undefined
TLで壊れる、別のquestoinはこちら(https://stackoverflow.com/a/40126194/3264998)答え?