如何在单个HTTP请求中加载角度控制器和模板

How to load angular controller and template in a single HTTP request?

本文关键字:控制器 加载 单个 HTTP 请求      更新时间:2023-09-26

我正在使用angularjs。想要加载我打包为"组件"的页面的部分,其中组件包含其控制器、模板、指令和一些其他资产,如CSS等。当需要时,我想按需加载所有这些。

通过为控制器指定解析器并为模板指定templateUrl,我能够按需加载控制器和模板。但是,有什么方法可以将它们组合成一个单独的HTTP请求吗?有什么例子吗?

抱歉忘了补充:我只想按需完成,而不是预编译/预聚合(假设这是我的要求)。有办法吗?

您可以使用angular templatecache将html与控制器、服务、指令等一起添加到模块和包模板缓存中。

为了从服务器将Angular代码和html模板放在一个请求中,您需要将这些模板与js组合在一起。这意味着使用某种作业将html处理到js中,并将其与其他代码连接起来。像咕哝的棱角模板之类的东西可能会起作用。

编辑

由于增加了这应该是一种按需的事情的要求,我只能补充(根据当前信息),这种事情可以通过服务器上的绑定和请求处理来完成,但如何做到这一点的细节完全取决于您的特定服务器堆栈。通常,服务器将具有允许按需资源绑定的功能,或者呈现部分视图,这可能对此功能有所帮助。