前提・実現したいこと
mountされる前に
要素の中にarrayを入れてarrayを一つ削除しその後の要素の大きさやブラウザの画面の中での要素位置を取得し、またarrayを削除し要素位置を取得したいです。
発生している問題・エラーメッセージ
for文で削除と取得を繰り返してみました。要素数は減ってたので削除はできていましたが要素の位置や大きさが全く変わりませんでした。
該当のソースコード
for(let i=0;i<5;i++){ let relativePositionBottom = window.innerHeight-document.querySelector('#pagescrolltest').getBoundingClientRect().bottom; this.$store.state.array.splice(this.$store.state.array.length-1,1); console.log(this.$store.state.array.length,relativePositionBottom); }
試したこと
削除してdomに反映される前に要素の情報を取得しているのが原因だと思ったのでnextTickというのをつかってみました。
for(let i=0;i<5;i++){ let relativePositionBottom = window.innerHeight-document.querySelector('#pagescrolltest').getBoundingClientRect().bottom; this.$store.state.array.splice(this.$store.state.array.length-1,1); console.log(this.$store.state.array.length,relativePositionBottom); this.$nextTick(function(){ console.log(relativePositionBottom); }); }
要素はきちんと削除されていましたが、i個削除された後の値になっていました。
一個削除されて取得一個削除されて取得というのをくりかえしたいので望んだ結果にはなりませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。