使用 Angular 1.2.10 和 ngRoute,jquery 1.10.2 我的 index.html 中有以下代码:
<body ng-controller="MainCtrl">
<div ng-include src="'partials/login/login.html'"></div>
<div ng-if="isAuthenticated()">
<div ng-view/>
</div>
<!--javascript files-->
</body>
初始登录页面(未配置为路由),下载所有需要的 javascript 文件,但在我登录后,并且 ng-if 评估为 true,我注意到 jquery 为浏览器中的所有 javascript 文件触发了一堆 XHR安慰:
XHR finished loading: "http://myurl/jquery-1.10.2.min.js?_=1392752363272"
XHR finished loading: "http://myurl/angular.min.js?_=1392752363273"
XHR finished loading: "http://myurl/app.js?_=1392752363274"
...and so on
控制台报告这些 XHR 正在从 jquery.1.10.2:8706 执行
根据文档,当 ng-if 评估为 true 时,该元素会在那时创建和编译。我想这与 ng-view 和 ngRoute 以及它们是如何连接在一起的,但我无法从文档中收集到为什么会发生这种特殊行为。如果有人可以对这种行为有所了解和/或如果我尝试采用的方法存在根本性错误,将不胜感激。
注意:如果我将 ng-if 替换为 ng-show,则不会发生此行为。