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

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

VUE属于单页面应用,如果直接采用CSS设置Body的背景图,会让造成所有的VUE页面都会被设置同一个背景图,因此需要采用另外的方式来设置单个页面的背景图,本文采用js动态设置单个VUE页面的背景图,整个效果如下图:
在这里插入图片描述

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>

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Vue单个页面设置背景图片,有几种方法可以实现。 第一种方法是通过CSS样式设置背景图片。在你的Vue组件中的<style>标签中,你可以使用background-image属性来定义背景图片的路径。例如: ``` <style> .container { background-image: url(../assets/background.png); ... } </style> <template> <div class="container"> ... </div> </template> ``` 这将在你的组件中创建一个类名为“container”的容器,并将背景图片设置为“background.png”。 第二种方法是使用Vue的背景绑定指令。在组件中,你可以使用v-bind:style指令将背景图片绑定到一个Vue变量上,如下所示: ``` <template> <div v-bind:style="{ backgroundImage: 'url(' + backgroundImageUrl + ')' }"> ... </div> </template> <script> export default { data() { return { backgroundImageUrl: "../assets/background.png" } } } </script> ``` 在这个例子中,我们使用v-bind:style指令将背景图片绑定到backgroundImageUrl变量,然后将其插入到style属性中作为CSS样式的一部分。 第三种方法是使用vue-cover插件。这是一个Vue插件,它提供了一种简单的方法来设置背景图片。你只需在组件中导入它,然后使用一个<cover>标签来包含你的组件中的内容,如下所示: ``` <template> <cover src="../assets/background.png"> <div> ... </div> </cover> </template> <script> import Cover from 'vue-cover' export default { components: { Cover } } </script> ``` 在这个例子中,我们导入了vue-cover插件,并将其添加到组件的components对象中。然后我们使用<cover>标签去包裹我们的组件内容,并将背景图片的路径传递给它的src属性。 这是三种在Vue单个页面设置背景图片的方法,你可以根据你的需求选择其中一个。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值