再描画を待つために使う nextTick ですが、グローバルな Vue.nextTick を使うべきか、それとも this.$nextTick を使うべきか。
迷ったら this.$nextTick を使った方がよさそうと感じました。
Vue.jsでは アロー関数 は期待しない動作になる場合があります。つまり this が直感的に使えないです。こちらの記事にも書いています。
例えば アロー関数 がそのまま使えない watch で Vue.nextTick を使う場合は以下のようになります。 this の参照を同一スコープ内に保持しておく必要があります。
watch: {
hoge() {
const vm = this; // 参照を保持
Vue.$nextTick(function() {
vm.fuga++; // thisを使う処理
});
}
}
これに対して this.$nextTick を使うと this の束縛が行われるため直感的です。
watch: {
hoge() {
this.$nextTick(function() {
this.fuga++; // thisがそのまま使える
});
}
}
迷ったらとりあえず this.$nextTick でよいと感じます。