programing

AngularJS: ng-click은 "좋은 관행"입니까?AngularJS에 ng-{event}가 없는 이유는 무엇입니까?

showcode 2023. 3. 26. 11:57
반응형

AngularJS: ng-click은 "좋은 관행"입니까?AngularJS에 ng-{event}가 없는 이유는 무엇입니까?

Angular를 이제 막 배우기 시작했어요.JS와 Angular JS의 몇 가지 개념에 어려움을 겪고 있습니다.누가 몇 가지 요점을 설명해 주면 좋을 텐데...

  1. 는 그것을 한다.ng-click 、 、 is 、 is is is is is is is is is is is is is is is is is is is is와는 엄밀히 말하면 .onclick(여기를 참조). 단, 둘 다 마크업으로 표시됩니다.그게 나쁜 관행인 줄 알았는데?대부분의 사람들이 "나쁘다"고 하는데 왜 이것이 Angular JS의 핵심 개념 중 하나일까요?마크업에 로직을 넣지 말고 JavaScript에서 DOM 요소를 선택하는 것이 좋다고 생각했습니다.

  2. ifng-clickAngular 클릭 하는 올바른 DOM ?JS DOM?에도 여러 요.ng-mouseover단, 모든 DOM 이벤트에 Angular가 있는 것은 아닙니다.JS 등가.AngularJS에서 '드롭' 이벤트를 처리하는 방법(즉, Angular에서)JS 방식 - 일반 방식이 아님)명확히 하자면:파일을 웹 앱으로 끌어다 놓으려고 합니다.

정말 고마워, 피포

대부분의 사람들이 "나쁘다"고 하는데 왜 이것이 Angular JS의 핵심 개념 중 하나일까요?

, 눈에 띄지 않는 자바스크립트를 정말 좋아하는 사람들은 그것이 나쁘다고 말할지도 모른다.각도론자(및 유연한 배경을 가진 자)는 보다 선언적인 접근법으로 가치를 본다.

"Angular는 UI를 구축하고 소프트웨어 컴포넌트를 배선할 때 선언 코드가 필수 코드보다 낫다는 믿음을 바탕으로 구축되었습니다.응용 프로그램 상태가 변경됨에 따라 UI가 어떻게 변경되어야 하는지를 선언적으로 설명하면 낮은 수준의 DOM 조작 태스크에서 해방됩니다. -- 개요 문서

자세한 내용은 Bootstrap, Angular.js Ember.js에서 사용되는 데이터 속성 옵션이 눈에 띄지 않는 Javascript 원칙과 충돌하지 않습니까?를 참조하십시오.

다른 DOM 이벤트는 어떻게 해야 하나요?

직접 지시사항을 작성하여 듣거나 다른 사람이 이미 작성한 지시사항을 찾습니다.Angular는 사용자가 직접 지시문을 작성함으로써 브라우저의 기능을 확장할 수 있는 능력을 제공합니다.

업데이트: Tim Stewart는 아래 코멘트에서 Angular에 대해 언급합니다.UI의 UI 이벤트 - Angular에서 기본적으로 지원하지 않는 이벤트에 콜백을 바인딩할 수 있습니다.

기본적으로 Angular는 올바르게 작동하기 위해 마크업 요소가 필요합니다.또한 이러한 요소는 변경될 때마다 대부분 "컴파일"되어야 합니다.따라서 자바스크립트에 관계없이 이미 다소 "방해적"입니다.단순히 마크업을 교체하고 jQuery와 같이 모든 것을 자동으로 바인드할 수는 없습니다.

엄밀히 말하면, 눈에 띄지 않는 JavaScript: 1. 코드와 스크립트 유지보수를 쉽게 하기 위해 구조와 동작을 분리한다.2. 브라우저의 비호환성을 배제한다.3. 깔끔하고 의미 있는 HTML 레이어(Wikipedia)와 연동한다.

확실히 앵글은 아니야모든 것에 쌍방향 바인딩을 실현하기 위해 클래스 이름 또는 ID를 jQuery와 같은 방법으로 사용하는 것이 아니라 DOM에서 커스텀바인딩 포인트를 만드는 방법을 선택했습니다(다소 비표준적인 접근이지만 분명히 동작합니다).

그러나 실제로 생각해 보면, 기본적으로 마크업의 각 제어된 부분은 더 이상 직선 HTML이 아닙니다.현재는 템플릿에 가깝기 때문에 렌더링을 준비하는 엔진과의 상호 작용이 필요합니다.따라서, 방해받지 않는 기존의 규칙은 그다지 적용되지 않습니다. (FWIW, 저는 jQuery.on() 함수의 열렬한 팬이자 사용자입니다.요소가 페이지에 추가되면 자동으로 이벤트에 바인드됩니다.매우 깨끗하고 유연한 IMHO, 그리고 나는 Angular에 비슷한 메커니즘이 있었으면 좋겠다.동일한 이벤트 핸들러를 자동으로 호출하는 페이지의 여러 위치에 있는 항목에 클래스를 추가하는 것이 좋습니다.코드를 변경할 수 있는 장소가 1개뿐인 것은 좋은 일입니다만, 저는 이 문제를 회피하고 있습니다.)

저에게 더 큰 문제는 진보적인 디자인입니다.웹 페이지는 JavaScript를 활성화하지 않아도 작동합니까?정말 신경 쓰는 사람 있어?음...

언급URL : https://stackoverflow.com/questions/14346073/angularjs-is-ng-click-a-good-practice-why-is-there-no-ng-event-in-angularj

반응형