私はVue.jsと公式のルータを備えたシングルページアプリケーションで作業しています。Vue.jsルーター:コンポーネントの準備が完了したらコードを実行
ルータを使用してロードするすべてのセクションごとにメニューとコンポーネント(.vueファイル)があります。すべてのコンポーネントでは、私はこれに似たいくつかのコードがあります。私は、コンポーネントが中に移行し終わった後(jQueryプラグインINIT)コードの一部を実行したい
<template>
<div> <!-- MY DOM --> </div>
</template>
<script>
export default {
data() {},
methods: {},
route: {
activate() {},
},
ready: function(){}
}
</script>
を私はready
イベントで私のコードを追加した場合、コンポーネントが初めてロードされたときにのみ起動されます。 route.activate
でコードを追加すると良いですが、DOMはまだロードされていないので、私のjQueryプラグインを初期化することはできません。
コンポーネントの移行が完了し、DOMの準備が整うたびにコードを実行するにはどうすればよいですか?
問題はreadyメソッドはコンポーネントがロードされて初めて実行されますが、別のルートに移動すると、このメソッドに戻ります。実行可能なメソッドは実行されません。ルートが呼び出されるたびに実行する必要があります。 –
私のコードサンプルを更新しました;) – maoosi
nextTickコールバックからコンポーネントdomに存在する要素$( '。test')にアクセスしようとしていますが、取得できません。それはsetTimeoutで動作するので、domがまだロードされていないようです –