AngularJS:$ route的工作原理是什么?

时间:2015-08-06 03:22:40

标签: angularjs ngroute

这是我被问到的一个面试问题:AngularJS:$ route服务究竟有用吗?

根据我的理解,$ route在链接/按钮/任何点击时加载模板,然后用模板的HTML替换[ng-view] div / section,将其存储在内存中,并使用模板刷出后续点击在记忆中。

这是正确的还是Angular每次收到点击都会加载模板?

换句话说,Angular会加载模板一次还是每次加载?在我看来,只加载一次它会更有效但我不确定。任何见解都表示赞赏。

2 个答案:

答案 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而不是来自服务器!!