• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

应用provide与inject刷新Vue页面方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

方法1:直接调用函数

将整个页面重载, 以下两种都可以

1.window.location.reload()

2.this.$router.go()

方法2:采用provide / inject(静刷新)

在高阶函数中声明一个reload刷新函数

<template>
  <div id="app" v-if="show"></div>
</template>
<script>
export default {
  // 控制显示/隐藏, 实现刷新
  data () {
    return {
      show: true
    }
  },
  // 把刷新的方法传给低阶组件
  provide () {
    return {
      reload: this.reload
    }
  },
  methods: {
    // 高阶组件定义刷新方法
    reload () {
      this.bol = false
      this.$nextTick(() => {
        this.bol = true
      })
    }
  }
}
</script>

在低阶组件中使用刷新函数

<template>
  <div></div>
</template>
<script>
export default {
  inject: ['reload'],
  methods: {
    // 低阶组件, 刷新
    fun () {
      this.reload()
    }
  }
}
</script>

优势比较

  • 方法1中直接调用函数, 会导致整个网站刷新,会浪费性能些,用户体验也不好; 大型网站这样刷新下,需要等几秒浏览器左上角可以看到刷新的动画;
  • 方法2中采用provide / inject, 用户不会感觉到刷新, 而且刷新的页面内容范围可控制, 相对浪费性能会少很多

以上就是应用provide与inject刷新Vue页面方法的详细内容,更多关于Vue页面刷新的资料请关注极客世界其它相关文章!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序实现左右联动发布时间:2022-02-05
下一篇:
Vue实现登录以及登出详解发布时间:2022-02-05
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap