【发布时间】:2020-01-22 10:41:45
【问题描述】:
这个问题来自于我使用 Javascript Google Maps API 得到了一个相当大的惊喜。
基本上,我启动了基于房地产的网络应用程序,投放了一些广告,获得了一些流量,这导致了比预期大得多的账单。账单高于预期的原因之一是地图 API 被点击的次数过多,尤其是与流量相比。
我正在使用 Vue 路由器。
现在,我有一条名为 /listings 的路线,在该路线上有一张地图(使用 vue2-google-maps),以及一个列表视图。
假设,每次用户点击/listings,组件/页面get 的渲染并发送动态地图请求?这意味着单个用户只需导航到不同的列表,然后导航回地图搜索即可轻松发送 10、20、100 多个 Gmap API 请求。谁能确认一下?
现在我正在考虑使用对话框的解决方案,v-if 在选择列表时显示在顶部,基本上永远不会离开/listings 页面。
但是,我的假设是否正确?如果是这样,有没有更好的方法来解决这个问题?
【问题讨论】:
-
基本上没有人能不看代码就回答这个问题。根据您的描述,您每次安装列表视图时都会实例化一个地图。但是您可以通过查看开发工具中的“网络”选项卡并查看何时发出对地图 API 的请求来自己找到答案。
-
很公平,是的 - 它确实在每次到达路线时都会实例化一个新地图。考虑到我要为生成的每张新地图付费,这令人沮丧
-
您是否尝试过使用 keep-alive 缓存组件? vuejs.org/v2/api/#keep-alive
标签: vue.js vue-component vue-router