Angular 모듈을 만든 후 종속성을 추가합니다.
생성 후 모듈 종속성을 추가할 수 있는지 알고 계십니까?뭐 이런 거:
// init module in file A
angular.module("myApp", []);
// retrieve module in file B and add new dependencies:
mod = angular.module("myApp");
// now I want to add an 'ngResource' dependency to mod
// ???
편집: 이상한 질문으로 생각될 수 있습니다.컴포넌트 기반의 어플리케이션 조직을 만들고 있는데 서브컴포넌트가 자신의 모듈을 정의하지 않고 부모 컴포넌트 모듈에 의존관계를 추가할 수 있는지도 확인하고 싶습니다.뭐 이런 거:
app/
components/
|__componentA/
|__app.js // initializes component A module
|__subcomponentA/
|__app.js // want to add subcomponentA dependencies to componentA module from here
저의 대안은 단순히 모든 서브컴포넌트A의존성을 컴포넌트A 모듈에 직접 선언하는 것입니다만, 조직의 관점에서 보면, 이러한 의존성을 내부로 유지하는 것을 선호합니다.subcomponentA따라서 나중에 앱에서 서브컴포넌트A를 삭제하기로 결정해도 컴포넌트A 모듈에서 종속성을 제거할 필요가 없습니다.서브컴포넌트 A에 관련된 모든 것을 그룹화하여subcomponentA디렉토리로 이동합니다.그러나 빌드 스크립트는 컴포넌트A 코드가 서브컴포넷A보다 먼저 처리되도록 합니다.
시도해주신 모든 분들께 감사드립니다.
저는 다음과 같은 방법으로 작업을 하고 있습니다.
var app = angular.module("myApp", []);
angular.module("myApp").requires.push('ngResource');
이건 불가능할 것 같아.하지만 나는 틀렸다는 것을 증명하고 싶다.
경험상(및 Angular 문서에 따르면) 모듈 의존성은 모듈을 초기화할 때만 선언할 수 있습니다.애플리케이션이 부트스트랩 될 때까지는 의존관계가 완전히 설정되지 않는다는 점에 유의해야 합니다.내가 아는 한 실행 중인 애플리케이션에 종속성을 추가하는 것은 전체 앱을 재부팅하는 방법이 없는 한 불가능하며, 이는 원치 않는 부작용을 초래할 수 있습니다.
편집: 사실...한 번도 해본 적은 없지만, 사실 이건 내가 생각했던 것보다 훨씬 더 간단해요.다음을 시도해 볼 수 있습니다.
파일 A:
window.myApp_dependencies = []; // Add dependencies to the global scope.
angular.module('myApp', dependencies);
파일 B:
var mod = angular.module("myApp");
window.myApp_dependencies.push('ngRoute');
글로벌 범위에서 변수를 생성해야 하므로 이 방법은 그다지 이상적이지 않습니다.모듈로도 가능합니다.이 경우 종속성은 앱이 실제로 시작될 때까지만 변경될 수 있으므로 파일 간에 종속성을 분할할 수 있지만 실행 시 종속성을 변경할 수 없습니다.
이게 먹힐지 모르겠네요.하지만 내일 시험해 볼 거예요.
이상한 질문이지만, 달성하려는 것은 angularjs/SPA/의존성 주입의 전망에서 잘못된 것입니다.
사용 사례는 특정 모듈 또는 한 페이지에서 이 종속성을 사용하고자 하는 것과 같습니다.그래서 당신은 그것을 다른 위치가 아닌 한 위치에 주입하려고 하는 것입니다.
단, 이미 선언된 모듈과는 다른 모듈을 재초기화하면 모듈 이름이 같기 때문에 이렇게 하면 어플리케이션에 두 개의 다른 스코프가 생성됩니다.
say: 파일A
angular.module("myApp", []);
이것은 파일 B에 정의되어 있습니다.
mod = angular.module("myApp", ['ngResource']);
따라서 하나의 응용 프로그램에 동일한 이름의 두 개의 다른 앱이 있고 다른 파일에 동일한 이름의 두 개의 앱이 있기 때문에 애플리케이션 내부에 두 개의 다른 각도 모듈이 있는 것과 같습니다.
두 번째 옵션: 어플리케이션 전체에 동일한 모듈을 배치하여 한 지점에 삽입하고 해당 컨트롤러에서 인수로 사용하는 모든 컨트롤러에 주입합니다.
도움이 되었으면 좋겠다!
언급URL : https://stackoverflow.com/questions/26988989/add-dependency-to-angular-module-after-its-been-created
'programing' 카테고리의 다른 글
| T-SQL 선택에서 각 행에 대해 난수를 생성하려면 어떻게 해야 합니까? (0) | 2023.04.06 |
|---|---|
| Wordpress wp-config.php doesn't update in Dockers? (0) | 2023.04.01 |
| 개체의 한 변수에 대한 Gson 사용자 지정 디세럴라이저 (0) | 2023.04.01 |
| AngularJS ng-keydown 디렉티브는 다음 경우에만 동작합니다.AngularJS ng-keydown 디렉티브는 다음 경우에만 동작합니다.콘텍스트를 참조해 주세요.콘텍스트를 참조해 주세요. (0) | 2023.04.01 |
| 특정 어레이 항목 내의 단일 값을 redx로 업데이트하는 방법 (0) | 2023.04.01 |