it-source

AngularJ: ngInclude vs 디렉티브

criticalcode 2023. 2. 8. 18:01
반응형

AngularJ: ngInclude vs 디렉티브

나는 언제 지시를 사용해야 하는지 그리고 언제 nginclude를 사용하는 것이 더 적절한지 잘 모르겠다.하다 부분적인 i i난 i i i i 있 i i i i i i i 。password-and-confirm-input-fields.htmlhtml 을 사용합니다.가입 페이지와 비밀번호 변경 페이지 모두에서 사용하고 있습니다.이 두 페이지에는 각각 컨트롤러가 있으며 부분 html에는 전용 컨트롤러가 없습니다.

요?아니면 'Directive'를 사용할까요?ngInclude★★★★★★★★★★★★★★★★?

모든 것은 코드 조각에서 무엇을 원하는지에 달려 있습니다.논리가 없는 , 는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ngIncludeHTML fragment를 사용합니다.(어차피 테이블이라고 합시다.) 있는 게 더 깨끗해요.<div ng-include="bigtable.html" />경치를 어지럽히는 모든 라인보다)

나 DOM 경우, 다른 한 경우,, 는, 는, 는, 는, 는, 는, 는, 는, 는, 는, 는, 다, 다, 다, 다, 다, 다, 다, 다, 다, 다, 다 (다, 다, 다, 다, 다, 다, 다, 다, 다, 다, 른, 다, 다, 다, 다, 다, 다, 다, 다directives더 나은 선택입니다(처음에는 힘들지만, 매우 강력하기 때문에 시간을 주세요).

인크루드

볼 수 ngInclude's을 받고 $scopeinterface예를 들어 대형/복잡한 리피터 등.이 때문에 이들 2개의 인터페이스는 서로 연결되어 있습니다. 어떤 $scope변경은 포함된 부분 내에서 논리를 변경/변경해야 합니다.

지시 사항

한편, 지시문은 명시적인 범위/컨트롤러 등을 가질 수 있다.따라서 여러 번 재사용할 필요가 있는 시나리오를 생각하고 있는 경우, 독자적인 범위를 연결하면 생활이 얼마나 쉬워지고 혼란이 덜해지는지를 알 수 있습니다.

또, DOM 와 대화하는 경우는, 디렉티브를 사용할 필요가 있습니다.이를 통해 테스트를 보다 효과적으로 수행할 수 있으며, 이러한 작업을 컨트롤러/서비스 등에서 분리할 수 있습니다.

힌트: IE8에 관심이 있는 경우는, 반드시 「E」를 사용하지 말아 주세요.여러 가지 방법이 있지만 귀찮다.그냥 삶을 더 편하게 만들고 속성 등을 고수하세요. <div my-directive />

컴포넌트 [2016년 3월 1일 갱신]

Angular 1.5에 추가되어 기본적으로 랩핑입니다..directve()컴포넌트는 대부분의 경우에 사용합니다.많은 보일러 플레이트 지시 코드를 삭제합니다.기본값은 다음과 같습니다.restrict: 'E', scope : {}, bindToController: trueAngular2로 쉽게 이행할 수 있도록 앱의 거의 모든 것에 사용할 것을 강력히 권장합니다.

결론:

대부분의 경우 컴포넌트와 디렉티브를 작성해야 합니다.

  • 확장성이 향상되다
  • ngInclude 등 외부에서 파일을 템플릿으로 만들어 사용할 수 있습니다.
  • 상위 범위를 사용할 수도 있고 지시문 에서 자체 격리 범위를 사용할 수도 있습니다.
  • 응용 프로그램 전체에서 재사용이 용이함


2016년 3월 1일 갱신

이제 Angular 2는 서서히 마무리되고 있으며 일반적인 형식(물론 아직 여기저기서 약간의 변경이 있을 것입니다)은 이 기능의 중요성에 대해 덧붙이고 싶었습니다.components('E'와 같이 제한해야 하는 경우 지시하는 경우가 있습니다).

컴포넌트는 Angular 2와 매우 유사합니다.이렇게 해서 로직과 html을 같은 영역에 캡슐화합니다.


컴포넌트에 가능한 한 많은 것을 캡슐화해 두면 Angular 2로의 이행이 매우 쉬워집니다.(이행을 선택한 경우)

하는 좋은 directives(물론 컴포넌트를 사용하는 경우에도 매우 유사합니다).http://angular-tips.com/blog/2015/09/migrating-directives-to-angular-2/

언급URL : https://stackoverflow.com/questions/24171893/angularjs-nginclude-vs-directive

반응형