2014-01-07 2 views
0

본문에 DOM 요소를 추가합니다. 공장에서 코드를 작성했습니다.

ng-click을 제외한 모든 것이 작동합니다. div를 클릭하면이 오류가 발생합니다.

Uncaught TypeError: Object #<Object> has no method '$apply' 

내가 뭘 잘못 했습니까? the docs 따르면 덕분

+0

어디에서이 코드를 작성 했습니까? 지시어에? –

+0

@ Maxim Shoustin 나는 그것을 공장에서 썼다. – ishwr

+0

@zeroflagL 내가 게시 했어 – ishwr

답변

4

, $compile() 의해 반환 된 함수는 인수로 제 Scope 객체 걸린다. 당신은 보통의 JS 객체를 제공한다 (물론 $apply 메소드는 없다). 새 범위를 만들려면, 당신은 $rootScope (Dependency Injection를 통해) 및 사용의 $new() 방법을 삽입 할 수

:

app.factory('myFactory', function($rootScope) { 
    var scope = $rootScope.$new(); 
    ... 
}); 

을 만드는 데 조금 이상한 것 같다 공장 내부의 새로운 범위이기 때문에 궁극적으로 달성하고자하는 것에 대한 자세한 내용을 제공하면 누군가가 더 나은 접근 방식을 제안하는 데 도움이 될 수 있습니다.

+0

mega giga thanks! :) – ishwr