vue监控网络变化,并随之改变字体颜色

  • Post author:
  • Post category:vue




监控网络变化,并随之改变字体颜色

在css中,定义一个没有网络时字体要显示的颜色:

.changeColor{
      color: #5f696e;
    }

home.vue文件的template中:

 <div class="getCC">尊 敬 的 {{userName}} 用 户, 欢 迎 您 登 录 ~
 </div>

home.vue文件的script中

export default {
  data () {
    return {
      onLine: navigator.onLine
    }
  },
  methods: {
    // 改变onLine值
    // 正常->异常
    updateOnlineStatuss (e) {
      const { type } = e
      this.onLine === 'online'
      //使用querySelector方法,返回匹配该选择器的元素节点
      let changeTextColor = document.querySelector('.getCC')
      //当网络异常时changeColor属性颜色覆盖原来的
      changeTextColor.classList.add('changeColor')
    },
    // 异常->正常
    updateOnlineStatus (e) {
      const { type } = e
      this.onLine === 'offline'
      let textColor = document.querySelector('.getCC')
      //当网络恢复时,移除changeColor属性
      textColor.classList.remove('changeColor')
    }
  },
   mounted () {
    // 监听网络
    // 网络由异常到正常触发
    window.addEventListener('online', this.updateOnlineStatus)
    // 网络由正常到异常触发
    window.addEventListener('offline', this.updateOnlineStatuss)
  },
  //销毁
  beforeDestroy () {
    window.removeEventListener('online', this.updateOnlineStatus)
    window.removeEventListener('offline', this.updateOnlineStatuss)
  }

总觉得我写的有点冗余,大家发现有更好的写法一定要告诉我呀~