Vue のスクロール アンカーは別のページにありますか?
P粉627027031
P粉627027031 2024-02-21 10:17:16
0
2
447

私のサイトのタイトルにはルーター リンクがあり、クリックするとフォームのある /registration ページに移動します。私が実現したいのは、クリックすると vueScrollTo プラグインを使用して登録フォームにスクロールすることです。

現在は動作していますが、100% 希望どおりに動作するわけではありません。現時点では、/registration ページ以外でクリックすると、フォームまで完全にスクロールしますが、/registration ページ自体にアクセスしてルーターのリンクをクリックすると、警告が表示されます

ページ上にない要素までスクロールしようとしました: 未定義

インストールされたライフサイクル中にイベントをトリガーしているため、これが発生していると思います。それを機能させるためのより良い解決策はありますか?

サイトヘッダーコンポーネント

リーリー

登録ページのコンポーネント

ああああ

P粉627027031
P粉627027031

全員に返信(2)
P粉633733146

setTimeout を使用する:

リーリー

}

いいねを押す +0
P粉668146636

まず、yarn に vue-scrollto を追加し、次に nuxt.config.js に次の構成

を追加する必要があります。 リーリー

したがって、このテンプレートは問題を解決するはずです

リーリー

別のページからこれを実行してみましたが、うまくいきました。このページから vue-scrollto を呼び出す必要はありません。単純な <nuxt-link> 移動を使用するだけです。


このドキュメント ページは、$refs を理解するのに役立ちます: https://v2.vuejs.org/v2/guide/components-edge-cases.html#Accessing-Child-Component-インスタンス-amp-Child-Elements

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート