찾다
웹 프론트엔드JS 튜토리얼AngularJS 내장 지시문_AngularJS

지시어는 AngularJS가 HTML 요소를 작동하는 방법으로 이해합니다.
AngularJS 학습의 첫 번째 단계는 이 노드가 애플리케이션의 루트 노드임을 나타내는 내장 지시어 ng-app을 작성하는 것이므로 이 지시어는 이미 익숙합니다.

이 블로그에는 몇 가지 기본 제공 명령이 간략하게 기록되어 있으며 먼저 이를 사용한 다음 몇 가지 흥미로운 사항에 대해 이야기하겠습니다.

내장 명령

모든 내장 명령어에는 ng라는 접두사가 붙습니다. 충돌을 피하기 위해 맞춤 명령어에 이 접두사를 사용하는 것은 권장되지 않습니다.
몇 가지 일반적인 내장 명령으로 시작하세요.
먼저 몇 가지 주요 내장 명령을 나열하고 범위 문제에 대해 간략하게 이야기하겠습니다.

ng모델

현재 범위의 속성에 양식 컨트롤을 바인딩하는 것이 올바르지 않은 것 같습니다.
하지만 지금은 표현에 대해 걱정하지 마세요. 예를 들면 다음과 같이 사용하면 이해하기 쉽습니다.

코드 복사 코드는 다음과 같습니다.



{{someModel.someProperty}}

ng-init

이 지시문은 호출 시 내부 범위를 초기화합니다.
이 명령은 일반적으로 데모 제공 등 비교적 작은 응용 프로그램에 나타납니다...

코드 복사 코드는 다음과 같습니다.


저는 {{직업}}입니다

ng-init 외에도 더 많고 더 나은 옵션이 있습니다.

ng-앱

AngularJS를 사용할 때마다 이 명령 없이는 할 수 없습니다.
ng-app을 선언하는 요소는 $rootScope의 시작점이 되며 $rootScope는 일반적으로 에 선언되는 범위 체인의 루트입니다.
즉, 루트 아래의 모든 범위에서 액세스할 수 있습니다.
그러나 $rootScope를 과도하게 사용하는 것은 권장되지 않습니다. 그렇지 않으면 전역 변수가 어디에나 있으므로 비효율적이고 관리하기 어려워집니다.
예를 들면 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.



{{ someProperty }}
본문>

var myApp = angle.module('myApp', [])
.run(함수($rootScope) {
$rootScope.someProperty = '안녕하세요 컴퓨터';
})


ng-컨트롤러

이 명령을 사용하여 DOM 요소에 컨트롤러를 설치합니다.
컨트롤러? 문자 그대로 이해하면 좋은데 컨트롤러가 왜 필요한가요? AngularJS 1.2.x에서는 컨트롤러를 다음과 같이 정의할 수 있다는 점을 기억하세요...

코드 복사 코드는 다음과 같습니다.
함수 ohMyController($scope) {
//...
}

이 방법은 컨트롤러가 하늘 전체를 날아다니게 만들고 모든 것이 $rootScope에 걸려 있기 때문에 AngularJS 1.3.x에서는 금지됩니다.

ng-controller에는 매개변수로 표현식이 있어야 합니다. 또한 $scope는 $rootScope를 포함하여 상위 $scope의 메서드와 속성을 상속하는 데 사용됩니다.
다음은 단순한 예입니다. 조상은 자식 범위에 액세스할 수 없습니다.

코드 복사 코드는 다음과 같습니다.

{{ 조상 이름 }}
{{ 아이이름 }}

             {{ 조상 이름 }}
             {{ childName }}



var myApp = angle.module('myApp', [])
.controller('ChildController', function($scope) {
$scope.childName = '자녀';
})
.controller('AncestorController', function($scope) {
$scope.ancestorName = '조상';
});


범위 문제는 그 이상입니다. 지금은 이 문제를 제쳐두고 다른 내장 명령어를 계속 살펴보겠습니다.

ng 형식

처음에는 왜 form 명령이 있는지 이해하지 못했지만

태그는 충분히 유용해 보였습니다.
양식 확인을 예로 들면 이전 기사에 다음 코드가 있습니다.

코드 복사 코드는 다음과 같습니다.


즉, 양식 상태가 $invalid인 경우 제출 버튼이 비활성화됩니다.
예를 들어 시나리오가 좀 더 복잡한 경우 상위 양식에 여러 하위 양식이 있고 하위 양식의 세 가지 확인이 통과되면 상위 양식을 제출할 수 있습니다.
그러나

은 중첩될 수 없습니다.
이 시나리오를 고려하여 이 문제를 해결하기 위해 ng-form 지시문을 사용합니다.
예:

코드 복사 코드는 다음과 같습니다.



이름:

ID 번호:




보호자 이름:

보호자 ID 번호:


양식>

ng-비활성화

이와 같이 나타나는 한 효과적인 속성의 경우 AngularJS에서 true/false 표현식을 반환하여 효과적으로 만들 수 있습니다.
양식 입력 필드를 비활성화합니다.

코드 복사 코드는 다음과 같습니다.


ng-읽기 전용

식 반환 값 true/false를 통해 양식 입력 필드를 읽기 전용으로 설정합니다.
예를 들어 3초 후에는 읽기 전용이 됩니다.

코드 복사 코드는 다음과 같습니다.


.run(함수($rootScope,$timeout){
$rootScope.stopTheWorld=false;
$timeout(함수(){
           $rootScope.stopTheWorld = true;
},3000)
})

확인됨

이것은 에 대한 것입니다.

코드 복사 코드는 다음과 같습니다.


선택됨

코드 복사 코드는 다음과 같습니다.



저는 풀스택 엔지니어입니다
라벨>

프런트엔드옵션>
백엔드옵션>

선택>

ng-show/ng-hide

표현식을 기반으로 HTML 요소를 표시하거나 숨깁니다. 예를 들면 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


1 1=2


당신은 나를 볼 수 없습니다.

변경

HTML처럼 onXXX가 아니라 ng-XXX입니다.
ng-model과 함께 사용되는 경우 ng-change를 예로 들어 보겠습니다.

코드 복사 코드는 다음과 같습니다.


{{ calc.result }}

또는 ng-options처럼

{{}}

실제로 이 명령도 ng-bind와 비슷하다고 느낄 수 있지만 페이지 렌더링이 약간 느릴 때 나타날 수 있습니다.
게다가 {{}}의 성능은 ng-bind에 비해 많이 떨어지지만 사용하기 매우 편리합니다.

ng-바인딩

ng-bind의 동작은 {{}}와 유사하지만 이 명령을 사용하여 렌더링 취소로 인해 발생하는 깜박임인 FOUC(Flash Of Unrendered Content)를 방지할 수 있습니다.

ng-cloak

ng-cloak은 FOUC도 해결해줍니다. ng-cloak은 경로가 해당 페이지를 호출할 때까지 내부 요소를 숨깁니다.

ng-if

ng-if의 표현식이 false인 경우 해당 요소는 숨겨지지 않고 DOM에서 제거되지만 요소를 검사하면 표현식이 주석으로 바뀌는 것을 볼 수 있습니다.
단계가 숨겨져 있으면 ng-hide를 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.


요소를 검토할 수 없습니다


검열 가능

ng-스위치

단독으로 사용하면 의미가 없습니다.

코드 복사 코드는 다음과 같습니다.


0


1


2


3



반복

왜 반복이라고 부르지 않는지 모르겠습니다. 간단히 말해서 컬렉션을 순회하여 각 요소에 대해 다음과 같이 일부 특수 속성을 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

$인덱스
$첫번째
$마지막
$중
심지어
이상해요

설명할 필요가 없습니다. 예를 들면 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


  • {{char.alphabet}}


ng-href

처음에는 텍스트 필드에 ng-model을 만든 뒤 href에 를 이렇게 썼습니다.
실제로 href와 ng-href 사이에는 차이가 없으므로 다음을 시도해 볼 수 있습니다.

코드 복사 코드는 다음과 같습니다.


.run(function($rootScope, $timeout) {
$rootScope.linkText = '아직 로드되지 않았으므로 클릭할 수 없습니다';
$timeout(함수() {
          $rootScope.linkText = '클릭하세요'
          $rootScope.myHref = 'http://google.com';
}, 2000);
})

ng-src

마찬가지로, 표현식이 적용되기 전에 리소스를 로드하지 마십시오.
예(ps: 사진 좋네요! ):

코드 복사 코드는 다음과 같습니다.

AngularJS 내장 지시문_AngularJS
.run(function($rootScope, $timeout) {
$timeout(함수() {
          $rootScope.imgSrc = 'https://octodex.github.com/images/daftpunktocat-guy.gif';
}, 2000);
})

ng급

범위 내 개체를 사용하여 클래스 스타일을 동적으로 변경합니다. 예:

코드 복사 코드는 다음과 같습니다.


.red {배경색: 빨간색;}
.blue {배경색: 파란색;}
스타일>


번호: {{ x }}



.controller('CurTimeController', function($scope) {
$scope.getCurrentSecond = 함수() {
          $scope.x = new Date().getSeconds();
};
})

위 내용은 이 글에 설명된 내용 전부입니다. 모두 마음에 드셨으면 좋겠습니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Next.js (백엔드 통합)로 멀티 테넌트 SAAS 애플리케이션 구축Next.js (백엔드 통합)로 멀티 테넌트 SAAS 애플리케이션 구축Apr 11, 2025 am 08:23 AM

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.

Next.js (Frontend Integration)를 사용하여 멀티 테넌트 SaaS 응용 프로그램을 구축하는 방법Next.js (Frontend Integration)를 사용하여 멀티 테넌트 SaaS 응용 프로그램을 구축하는 방법Apr 11, 2025 am 08:22 AM

이 기사에서는 Contrim에 의해 확보 된 백엔드와의 프론트 엔드 통합을 보여 주며 Next.js를 사용하여 기능적인 Edtech SaaS 응용 프로그램을 구축합니다. Frontend는 UI 가시성을 제어하기 위해 사용자 권한을 가져오고 API가 역할 기반을 준수하도록합니다.

JavaScript : 웹 언어의 다양성 탐색JavaScript : 웹 언어의 다양성 탐색Apr 11, 2025 am 12:01 AM

JavaScript는 현대 웹 개발의 핵심 언어이며 다양성과 유연성에 널리 사용됩니다. 1) 프론트 엔드 개발 : DOM 운영 및 최신 프레임 워크 (예 : React, Vue.js, Angular)를 통해 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축합니다. 2) 서버 측 개발 : Node.js는 비 차단 I/O 모델을 사용하여 높은 동시성 및 실시간 응용 프로그램을 처리합니다. 3) 모바일 및 데스크탑 애플리케이션 개발 : 크로스 플랫폼 개발은 개발 효율을 향상시키기 위해 반응 및 전자를 통해 실현됩니다.

JavaScript의 진화 : 현재 동향과 미래 전망JavaScript의 진화 : 현재 동향과 미래 전망Apr 10, 2025 am 09:33 AM

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

Demystifying JavaScript : 그것이하는 일과 중요한 이유Demystifying JavaScript : 그것이하는 일과 중요한 이유Apr 09, 2025 am 12:07 AM

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

Python 또는 JavaScript가 더 좋습니까?Python 또는 JavaScript가 더 좋습니까?Apr 06, 2025 am 12:14 AM

Python은 데이터 과학 및 기계 학습에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 간결한 구문 및 풍부한 라이브러리 생태계로 유명하며 데이터 분석 및 웹 개발에 적합합니다. 2. JavaScript는 프론트 엔드 개발의 핵심입니다. Node.js는 서버 측 프로그래밍을 지원하며 풀 스택 개발에 적합합니다.

JavaScript를 어떻게 설치합니까?JavaScript를 어떻게 설치합니까?Apr 05, 2025 am 12:16 AM

JavaScript는 이미 최신 브라우저에 내장되어 있기 때문에 설치가 필요하지 않습니다. 시작하려면 텍스트 편집기와 브라우저 만 있으면됩니다. 1) 브라우저 환경에서 태그를 통해 HTML 파일을 포함하여 실행하십시오. 2) Node.js 환경에서 Node.js를 다운로드하고 설치 한 후 명령 줄을 통해 JavaScript 파일을 실행하십시오.

Quartz에서 작업이 시작되기 전에 알림을 보내는 방법은 무엇입니까?Quartz에서 작업이 시작되기 전에 알림을 보내는 방법은 무엇입니까?Apr 04, 2025 pm 09:24 PM

쿼츠 타이머를 사용하여 작업을 예약 할 때 미리 쿼츠에서 작업 알림을 보내는 방법 작업의 실행 시간은 CRON 표현식에 의해 설정됩니다. 지금...

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.