sourcecode

Angular의 구조JS는 커스텀 HTML5 요소 태그와 속성을 사용하지 않아도 됩니까?

codebag 2023. 3. 14. 21:37
반응형

Angular의 구조JS는 커스텀 HTML5 요소 태그와 속성을 사용하지 않아도 됩니까?

대부분의 브라우저에서는 원하는 요소 태그를 만들고 원하는 속성 이름을 요소에 추가할 수 있습니다.예를 들어 다음과 같습니다.

<!DOCTYPE html>
<html>
<body>
<div my-attribute="has no data- prefix, but seems to behave like an attribute should">
    <br/>
    <hello-world style="display:block;background:#eee">Hello Everybody</hello-world>
    <goodby-world style="background:#faa">Default display is inline</goodbye-world>
</div>
</body>
</html>

상기의 표시는 양호합니다.정의되지 않은 요소가 스팬과 거의 비슷하게 동작하는 것 같습니다.앵귤러처럼 보이기도 하고JS는 커스텀 태그와 속성을 매우 많이 활용합니다.그것은 거의 그것에 의존합니다.

단, 제가 알기론 그런 종류의 작업은 "data-" 프리픽스가 붙은 커스텀 html5 속성인 경우를 제외하고는 금지되어 있었습니다.

자, 제 질문은 다음과 같습니다.독자적인 커스텀 요소 태그나 속성명을 구성하는 것은, 금기가 되어 있지 않습니까?다른 말로 하자면 앵글은JS는 HTML5 사양의 일부가 아닌 비표준적인 기호에 의존하지만, 어쨌든 작동합니까?구글의 누군가가 오랫동안 잃어버렸던 html5 스펙의 비밀 장을 발견했나요?아니면 제가 완전히 오해하고 있는 건가요?

유효성은 검증되지 않지만 렌더링됩니다.

HTML5는 XHTML과 달리 매우 관대하도록 설계되었습니다.이는 부분적으로 "구식" HTML5 브라우저가 페이지를 분할하지 않고 해당 버전이 아직 지원하지 않는 새로운 요소(및 잘못된 형식의 HTML)를 허용할 수 있도록 하기 위한 것입니다.

이것은 물론 커스텀 태그를 도입하기 위해서 「이용」할 수 있습니다.

참고로 HTML4에서도 가능합니다.

코멘트에서 설명한 바와 같이, 통상의 태그내의 어트리뷰트에 프리픽스를 붙일 수도 있습니다.data-그러면 검증이 됩니다.

W3C 사양부터:

작성자는 본 사양 또는 [기타 해당 사양][1]에서 허용되지 않는 요소, 속성 또는 속성 값을 사용해서는 안 됩니다.그러면 향후 언어를 확장하기가 매우 어려워지기 때문입니다.

단, 페이지 본문의 초기 소스(각 처리 전 ng-app 요소)는 W3C 표준을 준수하지 않을 수 있습니다.replace: true디렉티브에서는 커스텀 요소는 유효한 템플릿HTML로 대체됩니다.따라서 이 경우 각도 요소는 터미널 HTML 출력으로 대체되는 자리 표시자일 뿐입니다.

이것은 다소 억지스럽지만, 주제도 그렇다.웹은 이제 우리가 만드는 것이며, 우리는 비스펙 요소를 작성/스타일화/수정할 수 있습니다.또한 Angular 팀은 사양에 별로 신경을 쓰지 않을 수도 있습니다. 최첨단 사양이기 때문에 원하는 대로 사용할 수 있습니다.즉, Angular에서는 HTML5 사양을 검증하고 준수할 마크업으로 모든 것을 할 수 있습니다(양쪽 모두 지원).

AngularJs 。 이치노IE와 시키려면 , 「」를 사용할 .<div data-hello-world><hello-world>모든 커스텀 속성 앞에 데이터를 배치할 수 있습니다.

HTML5는 아직 100% 표준이 아니지만 점차 표준이 되어가고 있습니다.

언급URL : https://stackoverflow.com/questions/18665303/how-does-angularjs-get-away-with-using-custom-html5-element-tags-and-attributes

반응형