【发布时间】:2020-01-26 15:47:06
【问题描述】:
我想知道如何在 Angular 应用程序中延迟加载 JSON 文件。据我了解,assets 文件夹中的静态内容仅在初始渲染时默认加载,并且存在于浏览器内存中。我只希望在浏览器中按需加载特定的 JSON 文件。有人可以解释一下如何做到这一点。
【问题讨论】:
-
据我了解,assets 文件夹中的静态内容仅在初始渲染时默认加载,并且存在于浏览器内存中你从哪里得到这个?
-
我在资产文件夹中放置了一些 JSON 文件。在我的 HTML 中,我放置了一个按钮,单击该按钮将显示此 JSON 的某些属性。在 IE 上运行应用程序时,我在单击按钮之前和之后检查了内存。它没有显着变化。如果我们想延迟加载资产,我还遇到了需要明确实施的策略。所以我得出结论,默认情况下,资产必须在初始加载时在浏览器中加载,然后再请求。如果我错了,请纠正我。
-
在您的示例中,如果您将该 JSON 导入到您的组件文件中,那么它当然不会延迟加载,因为导入语句在构建步骤中已解决。用具体的用例更新您的问题。但我几乎可以完全肯定地告诉你,你的理解是错误的。
-
感谢 Jota,这有助于澄清我的理解。我已经导入了文件。现在,我正在尝试通过单击我的 .ts 文件中的 URL 将 JSON 作为 HTTP 资源访问,并且单击按钮后,我可以看到 JSON 出现在开发工具的网络选项卡中。因此,我可以得出结论,JSON 是按需延迟加载的。
标签: json angular lazy-loading assets