VUE3.0学习系列随笔(七):定义单个VUE页面的背景图

VUE3.0学习系列随笔(七):定义单个VUE页面的背景图

VUE属于单页面应用,如果直接采用CSS设置Body的背景图,会让造成所有的VUE页面都会被设置同一个背景图,因此需要采用另外的方式来设置单个页面的背景图,本文采用js动态设置单个VUE页面的背景图,整个效果如下图:
VUE3.0学习系列随笔(七):定义单个VUE页面的背景图_第1张图片

1、主要思路

主要是利用VUE3.0的生命周期钩子函数mounted()beforeUnmount()mounted()是在实例被挂载后调用,beforeUnmount()是在在卸载组件实例之前调用。

1、进入VUE页面,执行mounted(),设置body背景图片
2、离开VUE页面,执行beforeUnmount(),清除背景图片

注意: VUE3.0中卸载组件实例之前调用的函数是beforeUnmount(),而在VUE2.0中则是beforeDestroy()

2、主要代码实现

<template>
  <div>div>
template>

<script>
export default {
      
  name: 'Back',
  data () {
      
    return {
      
      loginBg: 'url(' + require('../assets/login.jpeg') + ')'
    }
  },
  // 进入VUE时首先调用的钩子函数
  mounted () {
      
    // 添加背景图片
    document.body.style.backgroundSize = '100%'
    document.body.style.backgroundImage = this.loginBg
  },
  // 离开VUE时调用的钩子函数
  beforeUnmount () {
      
    // 清除背景图片
    document.body.style.backgroundImage = ''
  }
}
script>

<style>
style>

你可能感兴趣的:(VUE3.0学习随笔,Vue3.0,body,背景图,单个页面)