私のサイトのタイトルにはルーター リンクがあり、クリックするとフォームのある /registration
ページに移動します。私が実現したいのは、クリックすると vueScrollTo プラグインを使用して登録フォームにスクロールすることです。
現在は動作していますが、100% 希望どおりに動作するわけではありません。現時点では、/registration
ページ以外でクリックすると、フォームまで完全にスクロールしますが、/registration
ページ自体にアクセスしてルーターのリンクをクリックすると、警告が表示されます
ページ上にない要素までスクロールしようとしました: 未定義
インストールされたライフサイクル中にイベントをトリガーしているため、これが発生していると思います。それを機能させるためのより良い解決策はありますか?
サイトヘッダーコンポーネント
登録ページのコンポーネント
setTimeout を使用する:
リーリー}
まず、
を追加する必要があります。 リーリー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