我正在使用Laravel作为后端在Vue中开发一个网页。

我有page A,在页面加载后需要script A
现在,我导航到page B,该页面加载后还需要脚本A。

现在,在两个页面中都有的组件中调用了script A

脚本A的作用是,它查找ID为some_id的div并向其中添加一些HTML。现在,当我导航到页面B时,该页面上不再存在id,但是当我返回页面A时,该脚本应重新执行。

我想使其工作而无需再次调用服务器。我该如何实现?

最佳答案

请不要这样做!您要描述的是意大利面条的本质。在理想情况下,页面之间共享的组件不应该依赖于宿主页面中的内容,例如id。他们应该自我约束并被召唤。在这个理想的世界中,脚本不会附加HTML。您应该尝试在代码和标记之间保持清晰的分隔。在Vue中,这意味着将所有标记都放在模板中。

然后,在避免第二个网络请求的问题上,是对脚本的重复请求,还是脚本对某些数据的请求?您可以通过在资源上设置缓存头来实现所需的功能吗?如果没有,请考虑使用包含iframe的页面在两次加载之间保留一些状态。

关于javascript - 重新执行javascript中的脚本,而无需再次调用服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52110079/

10-09 16:46
查看更多