2013-05-07 2 views
1

기존 응용 프로그램에 AngularJS를 통합하는 방법을 찾으려고합니다. 응용 프로그램은 모듈 식이므로 모든 모듈에는 HTML 마크 업과 JS 스크립트 파일이 있습니다. 모듈은 requirejs 및 jQuery (마크 업로드 용)로로드됩니다.AngularJS를 기존 모듈 식 응용 프로그램에 통합

미래의 AngularJS 로의 마이그레이션 가능성을 염두에두고 모듈의 일부에서 AngularJS 기능을 사용하고 싶습니다. 그래서 이상적으로 나는 다음과 같은 것을 원합니다.

define([ 'angular' ], function (angular) { 
    return function (element) { 
     // The "element" parameter contains the reference to 
     // the detached DOM node that contains the markup. 
     // And what I think should be done is compiling 
     // or initializing AngularJS with the given DOM HTML fragment 
     // and with controller, etc. 
     angular.doSomething(element, ...something...); 
     // The application module engine will inject the returned element 
     // into the DOM tree. 
     return element; 
    }; 
}); 

아이디어가 있습니까? 감사!

답변

1

AngularJS는 실제로 다른 프레임 워크와 함께 실행되고 작은 비트와 조각에 사용되도록 설계되지 않았습니다. 당신은 이것을하기 위해 함께 해킹 할 수 있지만 그것은 아마도 매우 혼란스럽게 될 것입니다. Angular는 전체 앱의 기본이되기에 훨씬 적합합니다.

jQuery와 비슷한 기능은 앱에 추가되거나 기능을 추가하는 데 적합하지만 각도는 훨씬 더 복잡합니다.

각도를 사용하여 특정 부품을 제어하려는 경우 ng-controller 지시문과 작동 원리를 살펴보십시오. 그런 다음 표준 마크 업에서 어떤 요소에 ng-controller 속성을 추가 한 다음 자바 스크립트에 새 각도 컨트롤러를 추가하면됩니다. 그러면 DOM 요소를 관리합니다.

자세한 내용은 각도 조절기를 참조하십시오. 하지만 내가 말했듯이, 각도 비트를 추가하려고 시도하는 대신 앱을 완전히 각도로 만들 것을 제안합니다.

3

튜토리얼 바로 다음 단계 인 2 단계 (http://docs.angularjs.org/tutorial/step_02)는 간단한 기능으로 페이지에서 단일 컨트롤러를 수행하는 방법을 보여줍니다.

module을 생성하면 지시문과 서비스를 추가하고 모든 각도 제공을 활용할 수 있습니다.이 단계는 7 단계에서와 같이 모듈화하여 확장 할 수 있습니다. 경로를 구성 할 필요는 없지만 앱 모듈을 만들면 웹이나 각도별로 제공되는 다른 모듈이나 서비스를 통합 할 수 있습니다.

관련 문제