eventsource 请求时间太长 在请求完成之前页面展示一个loading效果 请用vue 代码写一段
时间: 2024-02-11 21:06:21 浏览: 121
好的,可以使用Vue的v-if指令和一个data属性来控制loading效果的展示。代码如下:
```
<template>
<div>
<div v-if="loading">Loading...</div>
<div v-else>
<!-- 网页主体内容 -->
</div>
</div>
</template>
<script>
export default {
data() {
return {
loading: true
};
},
mounted() {
// 发起EventSource请求
const eventSource = new EventSource('/my-event-source');
eventSource.onmessage = (event) => {
// 处理EventSource消息
this.loading = false;
};
}
};
</script>
```
在上面的代码中,我们在组件的data属性中定义了一个loading属性,初始值为true,用来控制loading效果的展示。在组件的mounted钩子函数中,我们发起了一个EventSource请求,并监听了其onmessage事件。当收到EventSource消息时,我们将loading属性设置为false,loading效果自然就被隐藏了。在模板中,我们使用v-if指令来根据loading属性的值来控制loading效果的展示。
阅读全文