programing

ng-app과 data-ng-app의 차이점은 무엇입니까?

goodsources 2023. 4. 1. 09:06
반응형

ng-app과 data-ng-app의 차이점은 무엇입니까?

현재 이 시작 튜토리얼 비디오를 보고 있습니다.angular.js

어느 순간(12'40인치 이후) 스피커는 다음과 같이 말합니다.ng-app그리고.data-ng-app=""내부적으로는 거의 동등하다<html>태그, 태그도ng-model="my_data_binding그리고.data-ng-model="my_data_binding"그러나 화자는 html은 사용되는 속성에 따라 다른 검증자를 통해 검증된다고 말합니다.

두 가지 방법의 차이점을 설명해 주시겠습니까?ng-에 접두사를 붙이다.data-ng-프리픽스?

좋은 질문입니다.차이는 간단합니다.특정 HTML5 검증자가 다음과 같은 속성에 오류를 발생시키는 것 외에는 두 가지 사이에 전혀 차이가 없습니다.ng-app단, 프리픽스 앞에 에러는 발생하지 않습니다.data-,맘에 들다data-ng-app.

질문에 답하려면data-ng-appHTML을 좀 더 쉽게 검증하고 싶은 경우.

재미있는 사실:를 사용할 수도 있습니다.x-ng-app같은 취지로.

Angularjs 문서에서

각도는 요소의 태그와 속성 이름을 정규화하여 어떤 요소가 지시와 일치하는지 결정합니다.일반적으로 명령어는 대소문자를 구분하는 camelCase 정규화된 이름(ngModel 등)으로 나타냅니다.그러나 HTML은 대소문자를 구분하지 않기 때문에 일반적으로 DOM 요소(예: ng-model)에서 대시 구분 속성을 사용하여 DOM의 지시어를 소문자로 나타냅니다.

정규화 프로세스는 다음과 같습니다.

요소/속성 전면에서 x와 데이터를 제거합니다.:, - 또는 _ 구분 이름을 camelCase로 변환합니다.ngBind와 일치하는 요소의 예를 다음에 나타냅니다.

아래 서술에 의거한 모든 것이 유효한 지시사항이다.

1. ng-interface
2. ng: 삭제
3. ng_module
4. data-ng-interval
5. x-ng-ng-interval

다른 점은 관습이라는 사실에 있다.data-*속성은 HTML5 사양에서 유효합니다.따라서 마크업을 검증할 필요가 있는 경우는, 그 마크업을 사용하는 것이 아니라,ng특성.

단답:

ng-model그리고.data-ng-model동일하고 동등합니다!


왜요?

  1. 이유: data-접두사
    HTML5 사양에서는 모든 커스텀아트리뷰트의 프리픽스가 다음과 같이 부가됩니다.data-.

  2. 이유: 둘 다ng-model그리고.data-ng-model동일하고 동등합니다.

AngularJS 문서 - 정규화

각도는 요소의 태그와 속성 이름을 정규화하여 어떤 요소가 지시와 일치하는지 결정합니다.일반적으로 명령어는 대소문자를 구분하는 camelCase 정규화된 이름(예:ngModel단, HTML은 대소문자를 구분하지 않기 때문에 DOM 요소에서는 보통 대시 구분 속성을 사용하여 DOM 내의 지시어를 소문자로 나타냅니다(예:ng-model


Strip 1. 트 1 1x- ★★★★★★★★★★★★★★★★★」data-요소/속성 전면에서 확인할 수 있습니다.
. 2. 을 합니다.:,- 「」_- - - 허가된 이름camelCase

를 들면, 「」
다음 형식은 모두 동일하며 ngBind 디렉티브와 일치합니다.

<div ng-controller="Controller">
  Hello <input ng-model='name'> <hr/>
  <span ng-bind="name"></span> <br/>
  <span ng:bind="name"></span> <br/>
  <span ng_bind="name"></span> <br/>
  <span data-ng-bind="name"></span> <br/>
  <span x-ng-bind="name"></span> <br/>
</div>

페이지 HTML 을 유효하게 하려면 , ng- 대신에 data-ng- 를 사용할 수 있습니다.

브라우저에 서비스를 제공하기 전에 서버에서 html 또는 html-module을 조작하려면 ng-xx 속성만 사용하는 것이 아니라 data-ng-xx 속성을 사용하는 것이 가장 좋습니다.

  1. 이것은 html을 유효하게 합니다.즉, domdocument(php) 등의 html(서버 기반) 파서에서 사용할 수 있습니다.이러한 파서는 html 형식이 올바르지 않은 경우 자주 실패합니다.
  2. Angular는 속성을 정규화하지만 이 속성은 서버가 아닌 클라이언트에 있습니다.

언급URL : https://stackoverflow.com/questions/16589853/ng-app-vs-data-ng-app-what-is-the-difference

반응형