【发布时间】:2020-04-07 10:20:49
【问题描述】:
我的情况是这样的:
如果我搜索数据,它将显示所有数据医生。但是对于可用的一天,我想单独制作。当完成显示所有医生的数据时。我想调用可用的异步方法或调用 api 来显示可用日期。当医生数据出现在屏幕上时,这个可用日期就开始了。所以当医生的数据出现在屏幕上时,它会调用可用日。如果用户向下滚动,它将调用另一个医生的可用日
我的代码是这样的:
<v-col
v-for="(item, i) in items"
:key="i"
cols="12"
>
<v-card
dark
>
<div class="d-flex flex-no-wrap justify-space-between">
<div>
<v-card-title
class="headline"
v-text="item.doctor"
></v-card-title>
<v-card-subtitle v-text="item.hospital"></v-card-subtitle>
<v-card-subtitle>Available today</v-card-subtitle>
</div>
<v-avatar
class="ma-3"
size="125"
tile
>
<v-img :src="item.src"></v-img>
</v-avatar>
</div>
</v-card>
</v-col>
演示和完整代码如下:https://codepen.io/trendingnews/pen/ZEYpBeW?editors=1010
我的问题是 如果我显示所有医生的数据,例如 50 条数据,它非常快。只需 2-3 秒
但如果我显示所有医生的数据和可用天数,例如 50 个数据,它会很慢。大约 10 秒
所以对于可用的一天,我想把它分开。只有当医生的数据出现在屏幕上时才会调用它
医生数据和可用日期是不同的 API。所以这是我的问题。我必须从前端处理这个
我该怎么做?有可以提供帮助的软件包吗?我在这个项目中使用了 vuex 商店
【问题讨论】:
-
听起来您正在寻找一个 Intersection Observer 库来在屏幕上滚动到医生时执行操作?如果是这种情况,我会查看 vue-observe-visibility 或 vue-intersect 之类的内容。
-
@StevenB。这真的适合我的情况吗?我的情况是这样的。第一次加载时,它将显示所有医生的数据。但是对于每个医生的可用日期,当用户向下滚动时,当医生出现在屏幕上时会调用它
标签: vue.js asynchronous vue-component loading vuetify.js