AngularJS의 사용자 정의 지침은 사용자 고유의 지침과 DOM을 컴파일할 때 컴파일러가 실행하는 기본 핵심 기능입니다. 이해하기 어려울 수 있습니다. 이제 코드를 복제하지 않고 애플리케이션의 여러 페이지에서 일부 특정 코드를 재사용하고 싶다고 가정해 보겠습니다. 그런 다음 이 코드를 별도의 파일에 넣고 반복해서 입력하는 대신 사용자 지정 지시문을 사용하여 코드를 호출할 수 있습니다. 이러한 코드는 이해하기 더 쉽습니다. AngularJS에는 네 가지 유형의 사용자 지정 지시문이 있습니다.
- 요소 명령
- 속성 명령
- CSS 클래스 지시문
- 댓글 명령
기존 앱에 구현하기 전에 맞춤 지시어가 어떤 모습인지 살펴보겠습니다.
요소 명령
코드 스니펫을 삽입하는 데 사용되는 다음 태그를 html로 작성하세요. 특정 코드를 사용하고 싶을 때에는 위의 태그를 사용하여 코드를 포함시킵니다.
<guitar-reviews> ... </guitar-reviews>
JS 파일에서 다음 코드 줄을 사용하여 위의 angleJS 사용자 지정 지시어를 적용합니다.
app.directive('guitarReviews', function() { return { restrict : 'E', // used E because of element templateUrl : 'custom-directives/reviews.html' }; });
코드 설명:
app.controller와 마찬가지로 app.directive를 먼저 정의한 뒤 html에서 사용하는 요소 태그명인 GuitarReview를 정의합니다. 그런데 Guitar-review와 GuitarReviews가 다르다는 사실을 알고 계셨나요? 이는 Guitar-Reviews의 하이픈이 Camel Case로 변환되어 JS 파일에서는 GuitarReviews가 되기 때문입니다. 다음 단계는 매개변수를 반환하는 익명 함수입니다. 제한: 'E'는 사용자 정의 요소 지시문을 정의하고 있으며 templateUrl은 포함할 코드 조각 파일을 가리킨다는 의미입니다.
속성 지시어
html 파일의 html 태그에 다음 속성을 입력하세요. 이 태그는 코드 조각을 보관하는 데 사용됩니다. 특정 코드 부분을 사용하고 싶을 때, 우리는 코드를 포함시키기 위해 이와 같은 태그를 입력하기만 하면 됩니다.
<div guitar-reviews> ... </div>
JS 파일에서 다음 코드를 사용하여 위의 angleJS 사용자 정의 지시문을 적용합니다.
app.directive('guitarReviews', function() { return { restrict : 'A', // used A because of attribute templateUrl : 'custom-directives/reviews.html' }; });
참고: AngularJS에서는 맞춤 지시어에 CSS와 주석 대신 간단한 CSS와 일반 주석을 사용할 것을 권장합니다.
이제 앱에서 맞춤 명령을 구현해 보겠습니다. 여기에서 프로젝트 파일을 다운로드할 수 있습니다. 리뷰 부분에 대한 코드를 별도의 파일에 넣은 다음 코드 조각을 요소에 할당하고 마지막으로 세부사항.html 페이지에서 사용했습니다.
첫걸음
지정된 폴더 아래에 cDirectives라는 새 폴더를 만들어 맞춤 지침을 저장하세요. 그런 다음 이 폴더에 사용자 리뷰를 보관할 review.html 파일을 만듭니다. 이 시점에서 폴더 계층 구조는 다음과 같습니다.
2단계
details.html에서 리뷰 섹션을 잘라내고 다음과 같이
3단계
details.html 페이지에서 잘라낸 코드를 아래와 같이 review.html에 복사하세요.
<!-- Review Tab START, it has a new controller --> <div ng-show="panel.isSelected(3)" class="reviewContainer" ng-controller="ReviewController as reviewCtrl" > <!-- User Reviews on each guitar from data.json - simple iterating through guitars list --> <div class="longDescription uReview" ng-repeat="review in guitarVariable[whichGuitar].reviews"> <h3 id="Review-Points-review-star">Review Points: {{review.star}} </h3> <p> {{review.body}} ~{{review.name}} on <date>{{review.createdOn | date:'MM/yy'}} </p> </div><!-- End User Reviews --> <!-- This is showing new review preview--> <div ng-show="add === 1" class="longDescription uReview" > <h3 id="Review-Points-reviewCtrl-review-star-span-ng-click-add-X-span">Review Points: {{reviewCtrl.review.star}} <span ng-click="add=0">X</span></h3> <p> {{reviewCtrl.review.body}} ~ {{reviewCtrl.review.name}} </p> </div> <!-- Add new Review to specific guitar - click this link to show review adding pannel --> <a href ng-click="add=1" class="addReviewLink">Add review</a> <!-- form validates here using form name and .$valid and on submission we are going to addReview function with guitarID --> <form class="reviewForm" name="reviewForm" ng-submit="reviewForm.$valid && reviewCtrl.addReview(guitarVariable.indexOf(guitarVariable[whichGuitar]))" novalidate ng-show="add===1" > <div> Review Points: <!-- ng-option here is setting options, cool? --> <select ng-model="reviewCtrl.review.star" ng-options="point for point in [5,4,3,2,1]" required > </select> Email: <input type="email" ng-model="reviewCtrl.review.name" required> <button type="submit">Submit</button> </div> <textarea placeholder="Enter your experience with this guitar..." ng-model="reviewCtrl.review.body"></textarea> </form><!-- END add new review --> </div><br /><!-- END Review Tab -->
4단계
이제 사용자 리뷰 태그에 작업을 추가할 수 있습니다. Controller.js를 열고 다음 코드를 추가해 보겠습니다.
GuitarControllers.directive('userReviews', function() { return { restrict : 'E', // used E because of element templateUrl : 'partials/cDirectives/reviews.html' }; });
코드 설명:
여기서
방금 지시어를 맞춤설정했습니다. 애플리케이션에서 아무것도 변경되지 않은 것처럼 보이지만 이제 코드는 이전보다 더 잘 계획되어 있습니다. 설명 및 사양에 대한 지시문을 사용자 정의할 수 있습니까? 직접 시도해 보세요.

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

在如今信息时代,网站已经成为人们获取信息和交流的重要工具。一个响应式的网站能够适应各种设备,为用户提供优质的体验,成为了现代网站开发的热点。本篇文章将介绍如何使用PHP和AngularJS搭建一个响应式网站,从而提供优质的用户体验。PHP介绍PHP是一种开源的服务器端编程语言,非常适用于Web开发。PHP具有很多优点,如易于学习、跨平台、丰富的工具库、开发效

随着互联网的不断发展,Web应用已成为企业信息化建设的重要组成部分,也是现代化工作的必要手段。为了使Web应用能够便于开发、维护和扩展,开发人员需要选择适合自己开发需求的技术框架和编程语言。PHP和AngularJS是两种非常流行的Web开发技术,它们分别是服务器端和客户端的解决方案,通过结合使用可以大大提高Web应用的开发效率和使用体验。PHP的优势PHP

随着互联网的普及,越来越多的人在使用网络进行文件传输和共享。然而,由于各种原因,使用传统的FTP等方式进行文件管理无法满足现代用户的需求。因此,建立一个易用、高效、安全的在线文件管理平台已成为了一种趋势。本文介绍的在线文件管理平台,基于PHP和AngularJS,能够方便地进行文件上传、下载、编辑、删除等操作,并且提供了一系列强大的功能,例如文件共享、搜索、

随着互联网的普及和发展,前端开发已变得越来越重要。作为前端开发人员,我们需要了解并掌握各种开发工具和技术。其中,PHP和AngularJS是两种非常有用和流行的工具。在本文中,我们将介绍如何使用这两种工具进行前端开发。一、PHP介绍PHP是一种流行的开源服务器端脚本语言,它适用于Web开发,可以在Web服务器和各种操作系统上运行。PHP的优点是简单、快速、便

随着Web应用程序的普及,前端框架AngularJS变得越来越受欢迎。AngularJS是一个由Google开发的JavaScript框架,它可以帮助你构建具有动态Web应用程序功能的Web应用程序。另一方面,对于后端编程,PHP是非常受欢迎的编程语言。如果您正在使用PHP进行服务器端编程,那么结合AngularJS使用PHP将可以为您的网站带来更多的动态效

随着Web技术的飞速发展,单页Web应用程序(SinglePageApplication,SPA)已经成为一种越来越流行的Web应用程序模型。相比于传统的多页Web应用程序,SPA的最大优势在于用户感受更加流畅,同时服务器端的计算压力也大幅减少。在本文中,我们将介绍如何使用Flask和AngularJS构建一个简单的SPA。Flask是一款轻量级的Py


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

드림위버 CS6
시각적 웹 개발 도구

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
