2014-12-23 3 views
2

각도로 작업하려고하며 내 $ http, 컨트롤러 및보기와 완벽하게 작동합니다. 그러나 방화 광 디버거를 볼 때 스크립트 탭에서 "angular.js line 12502> function"이 자동으로 여러 번 추가됩니다. 그것은 내부처럼 보여주고있다 : 내가 사용"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 사이 구글, 주식 http://angularjs.org * 라이센스 : MIT 하십시오 내가 뭘 잘못하고 있는지 도와주세요.

스냅 샷 :

*/enter image description here

+1

이것은 반드시 비정상적인 동작은 아닙니다. 귀하의 바인딩을 설정 각도입니다. 여러분이 보는 것은'$ parse'에 의해 내부적으로 생성 된 함수로, 안전하게 값을 얻거나 설정할 수 있습니다. 목록에있는 모든 사용자가 정확히 동일한 기능을 표시합니까? – james

+0

@james : "getAssess"는 함수 중 하나입니다. $ scope.getAssess = function (catID) {} 모든 사람들이 내 응용 프로그램에서 다른 기능을 사용합니다. – Vicxx

+0

콘솔에서이 함수를 실행하면 각도 앱의 바인딩 수를 확인할 수 있습니다. http://pastebin.com/bgrfscSJ – james

답변

2

아니고 무서운 것. Mozilla 's firebug에서 볼 수 있습니다.이 코드의 이유를 알려주십시오.
AngularJ는 런타임에 개체에 정보를 저장하는 변수에 대한 동적 함수를 만듭니다. 그러나 이것은 첫 번째 실행에서만 발생합니다. 그런 다음이 방법은 s 또는 l (범위 또는 지역을 의미 함)에서 정보를 수집합니다.

이 라인

함수를 만들려면 여기 작업이 코드로 줄 번호 12283에 표시됩니다

AngularJS와 5.0로 버전으로 변화하고있다. 이 라인은

작업으로

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

AngularJS와 v1.3.6는

/* 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

의 체인이 함수에 대한 몇 가지 더 많은 작업을 한 줄 번호 12502에 표시됩니다 필드 접근자는 단일 getterFn을 사용해야합니다.

K 이를 확인하여 업데이트 함 Change Sheet

관련 문제