angularjs - "angular.js line 12502 > function"多次自动添加

标签 angularjs angularjs-scope

我正在尝试使用 Angular,它与我的 $http、 Controller 和 View 完美配合。但是当我看到 Firebug 调试器时,在脚本选项卡中“angular.js line 12502 > function”会自动添加多次。里面显示如下:

s = eso(s, fe);
l = eso(l, fe);
if(s == null) return undefined;
s=eso(((l&&l.hasOwnProperty("getAssess"))?l:s).getAssess, fe);
return s;

我正在使用的版本 /** * @license AngularJS v1.3.6 * (c) 2010-2014 Google, Inc. http://angularjs.org * 许可证:麻省理工学院 请帮助我做错了什么。

快照:

*/enter image description here

最佳答案

这并不可怕。它只在 Mozilla 的 firebug 中可见。让我告诉你这段代码背后的原因。 AngularJs 在运行时为在对象中存储信息的变量创建动态函数。但这仅发生在第一次运行时。之后,这些方法将从 s 或 l(表示范围或本地)收集信息。

这些行随着版本的变化而变化

Angularjs v1.3.1 将显示在第 12283 行,因为此代码在此处创建函数。

 /* jshint -W054 */
var evaledFnGetter = new Function('s', 'l', code); // s=scope, l=locals
/* jshint +W054 */

Angularjs v1.3.6 将显示在第 12502 行,因为该行正在运行

 /* jshint -W054 */
var evaledFnGetter = new Function('s', 'l','eso','fe' code); // s=scope, l=locals, eso=ensureSafeObject
/* jshint +W054 */

Angularjs v1.3.7 在此功能上做了更多工作,如 Find here change sheet

a chain of field accessors should use a single getterFn

通过查看此 Change Sheet 来保持更新

关于angularjs - "angular.js line 12502 > function"多次自动添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27618929/

相关文章:

angularjs - 如何创建类似 Facebook 或 WhatsApp 的搜索框? (移动的)

javascript - 从指令 AngularJs 触发 Controller 范围

angularjs - Angular JS : Load CSS and JS files dynamically

javascript - 分配一个对象来选择值 - ng-options

javascript - 在 ui.bootstrap Angular Modal 中使用 JQuery $.each 运算符将 CSS 应用于每个元素

Javascript blob 窗口打开触发浏览器弹出窗口

angularjs - Angular 指令 compile() 函数如何访问隔离的作用域?

javascript - Firebase + Angularjs + Python

javascript - AngularJs-$Injector 一个对象?

javascript - 在 AngularJS 中,当表单字段被禁用时,如何临时删除模型属性?