这是我被问到的一个面试问题:AngularJS:$ route服务究竟有用吗?
根据我的理解,$ route在链接/按钮/任何点击时加载模板,然后用模板的HTML替换[ng-view] div / section,将其存储在内存中,并使用模板刷出后续点击在记忆中。
这是正确的还是Angular每次收到点击都会加载模板?
换句话说,Angular会加载模板一次还是每次加载?在我看来,只加载一次它会更有效但我不确定。任何见解都表示赞赏。
答案 0 :(得分:2)
我认为你的答案一定是错的,就像页面渲染/渲染方式有很多部分一样($ route,$ routeProvider,ngView指令)
$ route用于将URL深层链接到控制器和视图(HTML部分)。它监视$ location.url()并尝试将路径映射到现有路由定义。
请参阅documentation或深入了解source
编辑:补充说明。
答案 1 :(得分:2)
https://account.sonyentertainmentnetwork.com/liquid/reg/account/create-account!input.action的角度文档说
第一次使用模板时,它会加载到模板缓存中 快速检索
Angular $ route在内部使用$ templateCache,所以是的,模板加载一次,并在后续访问同一路径时从缓存中重用。
此$templateCache有更多信息。相关位:
第一次访问模板时,angular将从中获取模板 服务器并将其添加到$ templateCache
每次从那时开始引用ID时,angular从中获取它 $ templateCache而不是来自服务器!!