vue3实现局部页面刷新效果的示例详解
需求描述
两个VUE页面,A为主页面,B为子页面。现需求为,在A页面点击li数据后,B页面内容自动改变。
一、分析
网上解决方案一般使用provide和inject来定义全局变量和方法,并在局部页面中刷新。但多次尝试后并不适合,以下是prop 父 子传值以及全局方法配合实现;
二、代码示例
主页面(A.vue)
<template>
<div>
<ul>
<li v-for="item in list" :key="item.id" @click="handleClick(item)">{{ item.name }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
list: [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
{ id: 3, name: 'Item 3' }
]
};
},
methods: {
handleClick(item) {
// 转换为对象
let obj = JSON.parse(JSON.stringify(item));
// this.$root.可以直接调用全局方法(App.vue 中的方法)
this.$root.updateGlobalVariable(obj._source.id,obj._source.name);
},
}
};
</script>子页面(B.vue)
<template>
<div>
<p>{{ globalid }}</p>
<p>{{ globalname }}</p>
</div>
</template>
<script>
export default {
props:['globalid','globalname'],
};
</script>App页面(App.vue)
<template>
<div id="app">
<A :globalid="globalid" :globalid="globalid"></A>
<B :globalname="globalname" :globalname="globalname"></B>
</div>
</template>
<script>
import a from './components/A.vue';
import b from './components/B.vue';
export default {
name: 'App',
components: {
a,
b
},
data() {
return {
globalid: 'globalid Str ...', // 初始化全局变量
globalname: 'globalname Str ...' // 初始化全局变量
}
},
methods:{
updateGlobalVariable(id,name) {
this.globalid= id; // 更新全局变量的值
this.globalname= name; // 更新全局变量的值
// 重新加载页面
this.$forceUpdate();
}
}
};
</script>亲测可用!
到此这篇关于vue3实现局部页面刷新效果的示例详解的文章就介绍到这了,更多相关vue3局部页面刷新内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue项目实现减少app.js和vender.js的体积操作
这篇文章主要介绍了vue项目实现减少app.js和vender.js的体积操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11
vue3中getCurrentInstance不推荐使用及在<script setup>中获取全局内容的三种方式
这篇文章主要给大家介绍了关于vue3中getCurrentInstance不推荐使用及在<script setup>中获取全局内容的三种方式,文中通过介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下2024-02-02
vue3中vite的@路径别名与path中resolve实例详解
这篇文章主要给大家介绍了关于vue3中vite的@路径别名与path中resolve的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友可以参考下2023-02-02
Vue3中SetUp函数的参数props、context详解
我们知道setup函数是组合API的核心入口函数,下面这篇文章主要给大家介绍了关于Vue3中SetUp函数的参数props、context的相关资料,需要的朋友可以参考下2021-07-07


最新评论