source

Angular의 여러 모듈에서 단일 지침을 공유하는 방법JS

factcode 2023. 3. 10. 22:47
반응형

Angular의 여러 모듈에서 단일 지침을 공유하는 방법JS

AngularJS에 대해 아는 한, 이것은 오늘날 흥미로운 라이브러리 중 하나입니다.나는 앵글파워를 서서히 이해하고 있고, 그것을 진심으로 사랑하고 있다.나는 몇 가지 의심이 들며 내가 그것들을 명확히 해 주길 바란다.백그라운드 작업을 해도 어떻게 해야 하는지 알 수 없습니다.

  1. 예를 들어, 내 앱에 모듈이 있고 그에 대한 지침이 작성되어 있습니다. 그리고 나는 내 앱에 몇 개의 모듈을 추가하고 다른 모듈용으로 작성된 기존 지침을 재사용하고 싶습니다.내가 어떻게 그것을 달성할 수 있을까.필터, 구성 등에 적용되는 모듈뿐만 아니라

  2. 모듈 내부에 서브 모듈을 정의할 수 있습니까?

  3. 마크업을 통해 합니다, html 마크업을 는 안 .ng-controller.

  4. 모든 모듈에서 공유하려면 어떻게 해야 합니까?예를 들어, 앱의 모든 모듈 외부에 정의된 변수가 있는데 모듈 내부에 액세스하고 싶을 뿐입니다.이것이 가능합니까?개별 범위, 공유 범위, 루트 범위 등에서 완전히 동작하기 때문에 이 점은 의문입니다.

어떤 도움이라도 주시면 감사하겠습니다.

Q: 예를 들어 내 앱에 모듈이 있고 그에 대한 지침이 작성되어 있습니다. 그리고 내 앱에 모듈을 몇 개 추가하고 다른 모듈용으로 작성된 기존 지침을 재사용하고 싶습니다.내가 어떻게 그것을 달성할 수 있을까.필터, 구성 등에 적용되는 모듈뿐만 아니라

모듈을 선언할 때 종속성을 지정합니다.다음과 같은 지시가 있는 경우:

angular.module( 'moduleA', [] )

.directive( 'myDirective', function () {
  // ...
});

다른 모듈에서 해당 모듈을 요구할 수 있습니다.

angular.module( 'moduleB', [ 'moduleA' ] );

에 대한 angular.module을 사용하다

Q: 모듈 내부에 서브 모듈을 정의할 수 있습니까?

모듈은 엄밀히 말하면 모두 독립적이지만, 가짜로 만드는 것은 매우 흔한 일입니다. ''를 정의할 수 .moduleA이치미다

angular.module( 'moduleA.one', [] );
angular.module( 'moduleA.two', [] );

angular.module( 'moduleA', [
  'moduleA.one',
  'moduleA.two'
]);

개발자,, 발, and, , and, and, and, and, and, and, , and, and, and, and, and, and, and,moduleA.one ★★★★★★★★★★★★★★★★★」moduleA.two moduleA, 은 언제든지 에 moduleA2년 전하다

엄밀히 말하면 moduleB 에는 요요경경경 could could could could could could could could could가 필요할 도 있습니다.moduleA.two그렇게 하고 싶다면.

Q: html 마크업 ng-controller를 통해 동적으로 컨트롤러를 추가하는 방법, 정적이어서는 안 됩니다.

이건 좋은 생각이 아닌 것 같아."뷰"가 공식 기록입니다.어떤 용도입니까?

Q: 모든 모듈에서 공유하려면 어떻게 해야 하나요?예를 들어, 앱의 모든 모듈 외부에 정의된 변수가 있는데 모듈 내부에 액세스하고 싶을 뿐입니다.이것이 가능합니까?개별 범위, 공유 범위, 루트 범위 등에서 완전히 동작하기 때문에 이 점은 의문입니다.

무슨 말인지 잘 모르겠어요.단, 모듈에서 무언가를 정의할 때는 위에서 설명한 바와 같이 필요한 것만으로 다른 모듈에서 액세스할 수 있습니다.하지만 앵귤러에서는JS 앱은 "모든 모듈의 외부"에 있어야 합니다. 모든 것이 모듈에 있어야 합니다. 그렇지 않으면 글로벌 범위에서 정의됩니다(예:window그건 나쁜 관행일 뿐이에요.


모듈을 효과적으로 구조화하는 방법에 대한 자세한 내용은 다음 웹 사이트를 참조하십시오.ngBoilerplatekickstarter : http://ngbp.github.io/ngbp/모듈 구조는 코드 재사용을 위해 특별히 설계되었으며 실제로 이러한 개념의 많은 부분을 보여줍니다.

이것들 중 어떤 것에 대해서도 자유롭게 설명해 주시면 제가 답변을 수정해 드리겠습니다.

가장 쉬운 방법

가장 쉬운 방법은 ng 모듈에 모든 공유 가능한 지시사항 및 기타 부품을 추가하는 것입니다.

angular
    .module("ng")
    .directive("myDirective", function() {
        ...
    })
    .filter("MyFilter", function() {
        ...
    });

이것은 가장 쉬운 방법(일종의 설정잊어버리는 것)입니다.지시 스크립트를 HTML에 떨어뜨려 잊어버리고 자연스럽게 필요한 새로운 모듈을 개발할 수 있기 때문입니다.

이 기술의 다른 장점은 무엇입니까?

ng 모듈에 공유 가능한 것을 추가하는 것이 합리적인 이유는 무엇입니까?앱에 특정 ngApp 모듈을 정의하는 것이 아니라 설정만 하는 단순한 페이지가 있을 수 있습니다.ng-appHTML/BODY에서 인라인 각도 지시만 실행합니다.

지시문을 에 추가하는 경우ng모듈, 이 페이지들은 지시문을 사용할 수도 있습니다.

<html>
    <body ng-app>
        <div my-directive>
        ...
        </div>
    </body>
</html>

필요한 만큼 범위를 넓힐 수 있도록 앱 시작 부분에 div를 만들면 안 될까요?

<div ng-controller="uberController as uber">

    ....

    other controllers and html code here

    ....
</div>

uber div 안에 있는 모든 것이 uber 컨트롤러를 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/15190408/how-to-share-a-single-directive-across-multiple-modules-in-angularjs

반응형