vue组件无空白局部刷新

  1. 在展示 要刷新的组件的 父组件中引入以下函数

    <script>
    export default {
      name: 'App',
      provide(){
        return{
          reload:this.reload
        }
      },
    
      data(){
        return{
          isRouterAlive:true
        }
      },
    
      methods:{
        reload(){
          this.isRouterAlive = false;
          this.$nextTick(function () {
            this.isRouterAlive = true;
          });
        }
      },
    }
    </script>
    
  2. 在父组件中 展示 子组件的标签中使用

     //组件引用
     <div id="wendu">
             <ECharts v-if="isRouterAlive"></ECharts>
      </div>
      
     //如果是路由
     <router-view v-if="isRouterAlive/>
    
  3. 在要使用局部刷新的组件中 引入

    export default {
    	inject:['reload'], //接收
    	data()
    	{
    	return{
    	 ......
    	 }
    	}
    }
    
    
  4. 调用:

    this.reload();
    
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 中实现局部刷新的方式有很多种,下面介绍两种比较常见的方式: 1. 使用 `v-if` 或 `v-show` 指令 在 Vue 中,可以使用 `v-if` 或 `v-show` 指令来根据某个条件来控制某个元素是否显示。当条件发生变化时,Vue 会自动重新渲染受影响的部分,从而实现局部刷新的效果。例如: ```html <template> <div> <button @click="showContent = !showContent">切换内容</button> <div v-if="showContent"> <!-- 这里是需要局部刷新的内容 --> </div> </div> </template> <script> export default { data() { return { showContent: true }; } }; </script> ``` 在这个例子中,当点击按钮时,会切换 `showContent` 的值,从而控制需要局部刷新的内容是否显示。 2. 使用 `watch` 监听数据变化 在 Vue 中,可以使用 `watch` 来监听某个数据的变化,当数据发生变化时,执行对应的操作。例如: ```html <template> <div> <button @click="updateContent">更新内容</button> <div> {{ content }} </div> </div> </template> <script> export default { data() { return { content: '' }; }, methods: { updateContent() { // 获取最新的内容并更新到 this.content 中 } }, watch: { content(newValue, oldValue) { // 当 this.content 发生变化时执行的操作 } } }; </script> ``` 在这个例子中,当点击按钮时,会调用 `updateContent` 方法获取最新的内容并更新到 `this.content` 中。同时,我们在 `watch` 中监听 `this.content` 的变化,当 `this.content` 发生变化时,会执行对应的操作,从而实现局部刷新的效果。 总的来说,局部刷新的方式有很多种,具体的实现方式需要根据具体的业务场景和需求来选择。以上只是其中的两种常见方式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值