重新执行javascript中的脚本,而无需再次调用服务器

时间:2018-08-31 06:58:42

标签: javascript jquery dom vue.js

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

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

现在script A在两个页面中都存在的组件中被调用。

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

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

1 个答案:

答案 0 :(得分:2)

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

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