vueインスタンスを使用したより良いリスニングイベント
1528 ワード
vueインスタンスを使用したより良いリスニングイベント
⭐10.より多くの先端技術と知識点、サブスクリプション番号の検索
この記事では、vueでブラウザイベントをよりよく監視する方法を例に挙げます.原文では、イベントを個別に傍受するvueインスタンスを追加する方法を紹介します.このようにコードの書くのは比較的に簡潔で、管理しやすいです.
次のイベントをリスニングする従来の方法は、次のとおりです.
通常、多くのコードを書く必要があります.
より良い方法は、新しいVueインスタンスを使用することです.
次に、プロジェクトで使用します.
このようなメリットは、 dev-toolのレイアウト表示変動情報 を大量に占有することはない.主な項目のコードを減らす dev-toolはマルチインスタンスのデバッグをサポートしていないため、このコードの一部を単純に維持する必要がある .
最後に効果を見てみましょう.
この記事を参照:Reactive Window Parameters in VueJSは原文を読んで詳細を見ることができます.
私の購読番号に注目して、不定期にJSに関する技術文章を送って、技術だけを話してゴシップを話さないでください.
⭐10.より多くの先端技術と知識点、サブスクリプション番号の検索
JS
購読この記事では、vueでブラウザイベントをよりよく監視する方法を例に挙げます.原文では、イベントを個別に傍受するvueインスタンスを追加する方法を紹介します.このようにコードの書くのは比較的に簡潔で、管理しやすいです.
次のイベントをリスニングする従来の方法は、次のとおりです.
window.scrollX
window.scrollY
window.innerHeight
window.innerWidth
通常、多くのコードを書く必要があります.
created () {
this.$el.addEventListener('click', this.someMethod)
},
destroyed () {
this.$el.removeEventListener('click', () => this.someMethod)
}
より良い方法は、新しいVueインスタンスを使用することです.
import Vue from 'vue'
const WindowInstanceMap = new Vue({
data() {
return {
scrollY: 0
}
},
created() {
window.addEventListener('scroll', e => {
this.scrollY = window.scrollY
})
},
})
export default WindowInstanceMap
次に、プロジェクトで使用します.
// AppNav.vue
import WindowInstanceMap from './WindowInstanceMap.js'
export default {
computed: {
scrollY () { return WindowInstanceMap.scrollY },
isCollapsed () {
return this.scrollY < 100
}
}
}
このようなメリットは、
最後に効果を見てみましょう.
この記事を参照:Reactive Window Parameters in VueJSは原文を読んで詳細を見ることができます.
私の購読番号に注目して、不定期にJSに関する技術文章を送って、技術だけを話してゴシップを話さないでください.