Responsive Design
React on Size Change
<script>
export default {
data() {
return {
isMobile: false,
isDesktop: false,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight,
};
},
created() {
this.updateWindowSize();
window.addEventListener('resize', this.updateWindowSize);
},
methods: {
updateWindowSize() {
// console.log("updateWindowSize())");
this.windowWidth = window.innerWidth;
this.windowHeight = window.innerHeight;
this.checkIsMobile();
},
checkIsMobile() {
this.isMobile = this.windowWidth <= 768;
// console.log(`checkIsMobile(): windowWidth = ${this.windowWidth} isMobile=${this.isMobile}`)
},
beforeUnmount() {
console.log("beforeUnmount()");
window.removeEventListener('resize', this.updateWindowSize);
},
},
};
</script>
Debugging
<script setup>
import {
onActivated,
onBeforeMount,
onBeforeUnmount,
onBeforeUpdate,
/* onCreated, */
onDeactivated,
onErrorCaptured,
onMounted,
/* onRenderTracked,*/
onRenderTriggered,
onScopeDispose,
onServerPrefetch,
onUnmounted,
onUpdated,
/* onWatcherCleanup, */
} from 'vue';
onActivated(() => { console.log('onActivated() called'); });
onBeforeMount(() => { console.log(`onBeforeMount():`) })
onBeforeUnmount(() => { console.log('onBeforeUnmount() called'); });
onBeforeUpdate(() => { console.log(`onBeforeUpdate():`) })
onDeactivated(() => { console.log('onDeactivated() called'); });
onErrorCaptured((err, instance, info) => { console.log('onErrorCaptured() called'); console.error(err); return false; });
onMounted(() => { console.log(`onMounted():`) })
onRenderTriggered((e) => { console.log('onRenderTriggered() called', e); });
onUnmounted(() => { console.log(`onUnmounted():`) })
onUpdated(() => { console.log('onUpdated() called'); });
onScopeDispose(() => { console.log('onScopeDispose() called'); });
onServerPrefetch(() => { console.log('onServerPrefetch() called'); });
</script>
Leave a Reply