前言

​ 由于本人的能力有限,如若有说得做的不对的地方,还望指出。当然,如若你有更好的方法,或者更优解,还望不吝赐教。

需求

​ 实时监听app的联网状态,在断开网络的时候,提示用户网络断开了

自己的想法

​ 监听用户的网络链接状态,如果断网,显示断网的页面。

实现

在app.vue文件中添加一个属性来监控网络是否是开启状态

1
2
3
4
5
data() {
return {
network: true, //默认有网
};
},

在app.vue 的mounted生命钩子函数里注册检测网络链接的状态

1
2
3
4
5
6
7
8
9
10
11
mounted() {
// 检测断网
window.addEventListener("offline", () => {
console.log("已断网");
this.network = false;
});
window.addEventListener("online", () => {
console.log("网络已连接");
this.network = true;
});
},

在app.vue 的 判断network是否为false,如果是,跳转到断网的页面。为了简单,我就直接写在本页面上了

1
2
3
4
5
6
7
8
9
10
11
<div id="app">
<div class="network" v-if="!network">
网络已断开,链接网络,自动刷新
</div>
<div v-else>
<keep-alive>
<router-view :key="$route.path" v-if="$route.meta.keepAlive" />
</keep-alive>
<router-view :key="$route.path" v-if="!$route.meta.keepAlive" />
</div>
</div>
1
2
3
4
5
6
.network {
width: 100vw;
height: 100vh;
line-height: 100vh;
text-align: center;
}

注意:部分文章可能会在不就的将来更新

如果能够帮助到你,是小编最大的荣幸

当然 有 不好的地方 请大家帮忙指出 学习永无止境

小编一直认为 人外有人 天外有天 一起学习 共同进步

让我们共同加油吧!!!