vue 手动/局部刷新组件

简介: vue 手动/局部刷新组件

使用场景

点击按钮(或某变量改变时),在不刷新整个页面的情况下,局部刷新(重绘)图表,或者重新加载子组件。

实现方案

1. 在需要局部刷新的组件上,加上 v-if = "show" ,show的默认值为 true , 这样第一次渲染页面时,该组件能正常显示


2. 在点击事件中,先将 show 变为 false ,然后在 this.$nextTick 中将 show 变为 true , 这样便实现了组件的局部刷新

methods: {
    update() {
        this.show = false;
        this.$nextTick(
            () => {
                this.show = true
            }
        )
    }
},

完整的范例代码

父组件

<template>
    <div>
        <button @click="update">刷新test1</button>
        <Test1 v-if="show"></Test1>
    </div>
</template>
<script>
    import Test1 from './test1'
 
    export default {
        components: {Test1},
        data() {
            return {
                show: true,
            }
        },
        methods: {
            update() {
                this.show = false;
                this.$nextTick(
                    () => {
                        this.show = true
                    }
                )
            }
        },
    }
</script>
<style scoped>
</style>

子组件 test1

<template>
    <div>test1</div>
</template>
<script>
    export default {
        name: "test1",
        mounted() {
            alert("正在渲染test1")
        }
    }
</script>
<style scoped>
</style>

目录
相关文章
|
2天前
|
JavaScript
vue消息订阅与发布
vue消息订阅与发布
|
1天前
|
JavaScript
vue尚品汇商城项目-day07【vue插件-50.(了解)表单校验插件】
vue尚品汇商城项目-day07【vue插件-50.(了解)表单校验插件】
10 4
|
1天前
|
JavaScript
vue尚品汇商城项目-day07【51.路由懒加载】
vue尚品汇商城项目-day07【51.路由懒加载】
11 4
|
1天前
|
JavaScript
vue尚品汇商城项目-day07【vue插件-54.(了解)生成二维码插件】
vue尚品汇商城项目-day07【vue插件-54.(了解)生成二维码插件】
7 2
|
4天前
|
JavaScript
vue组件中的插槽
本文介绍了Vue中组件的插槽使用,包括单个插槽和多个具名插槽的定义及在父组件中的使用方法,展示了如何通过插槽将父组件的内容插入到子组件的指定位置。
|
2天前
|
JavaScript 前端开发 IDE
Vue学习笔记5:用Vue的事件监听 实现数据更新的实时视图显示
Vue学习笔记5:用Vue的事件监听 实现数据更新的实时视图显示
|
2天前
|
JavaScript 前端开发 API
Vue学习笔记4:用reactive() 实现数据更新的实时视图显示
Vue学习笔记4:用reactive() 实现数据更新的实时视图显示
|
2天前
|
JavaScript 前端开发
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
|
2天前
|
JavaScript 前端开发 API
Vue学习笔记7:使用v-for指令渲染列表
Vue学习笔记7:使用v-for指令渲染列表
|
2天前
|
JavaScript
vue 函数化组件
vue 函数化组件