我正在用Laravel作为后端在Vue中开发一个网页。
我有page A
,该页面加载后需要script A
。
现在,我导航到page B
,该页面加载后也需要脚本A。
现在script A
在两个页面中都存在的组件中被调用。
脚本A的作用是,它查找ID为some_id
的div,然后向其中添加一些HTML。现在,当我导航到页面B id
时,该页面不再存在,但是当我返回页面A时,该脚本应重新执行。
我想使其工作而无需再次调用服务器。我该如何实现?
答案 0 :(得分:2)
请不要这样做!您要描述的是意大利面条的本质。在理想情况下,页面之间共享的组件不应该依赖于宿主页面中的内容,例如id。他们应该自我约束并被召唤。在这个理想的世界中,脚本不会附加HTML。您应该尝试在代码和标记之间保持清晰的分隔。在Vue中,这意味着将所有标记都放在模板中。
然后,在避免第二个网络请求的问题上,是对脚本的重复请求,还是脚本对某些数据的请求?您可以通过在资源上设置缓存头来实现所需的功能吗?如果没有,请考虑使用包含iframe的页面在两次页面加载之间保留一些状态。