レンダリング後にdivのスクロールを更新する必要があります。 実際のコードでは、divは行と列が多い非同期呼び出しの結果で満たされていますが、このコードを作成して問題を確認しました。Vue js do not't update scrollTop
<div id="app">
<button @click="doScroll()">Scroll</button>
<div id="content" v-for="x in xs">
<span v-for="y in ys">{{x}}{{y}} </span>
</div>
</div>
var vm = new Vue({
el: "#app",
mounted: function(){
},
data: {
xs: 0,
ys: 0
},
updated: function(){
$('#app').scrollTop(200);
},
created: function(){
var vm = this;
setTimeout(function(){
vm.xs=30;
vm.ys=30
},1000);
},
methods: {
doScroll: function(){
$('#app').scrollTop(200);
}
}
})
https://codepen.io/kNo/pen/BJKmbE?editors=1111
見られるように、scrollTopスプライトだけボタンクリックイベントに更新されます。
divをレンダリングした後、scrollTopプロパティを自動的に更新する方法はありますか?
あなたはこれを達成するためにvue-routerでscrollbehaviourを使用することができます。 SPAフレームワークを使用するときに追加のライブラリは必要ありません。 – divine