찾다
웹 프론트엔드JS 튜토리얼AngularJS 구문에 대한 자세한 설명(계속)_AngularJS

src 및 href 속성

Angularjs에서는 src는 ng-src로 작성하고 href는 ng-href로 작성해야 합니다.

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

표현

템플릿에서는 간단한 수학 연산, 비교 연산, 비트 연산, 참조 배열, 객체 표기법 등을 수행할 수 있지만 표현식은 사용자 정의 인터프리터를 사용하여 실행됩니다. Javascript의 eval() 함수를 사용하는 대신 Angular의 eval() 함수를 사용하므로 더 큰 제한이 있습니다.
여기의 표현식은 여러 면에서 Javascript보다 더 엄격하지만 정의되지 않음 및 null에 더 관대합니다. 오류가 발생하면 템플릿은 NullPointerException 오류를 발생시키는 대신 아무 것도 표시하지 않습니다. 예:

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


{{computer() /10 }}
//합법적이긴 하지만 비즈니스 로직을 템플릿에 넣는 것은 피해야 합니다

UI와 컨트롤러의 책임을 분리

컨트롤러는 특정 DOM 조각에 바인딩되어 있으며 이러한 조각은 관리해야 하는 콘텐츠입니다. 컨트롤러를 DOM 노드에 연결하는 방법에는 두 가지가 있습니다. 하나는 ng-controller를 통해 템플릿에서 컨트롤러를 선언하는 것이고, 두 번째는 라우팅을 통해 동적으로 로드된 DOM 템플릿 조각에 바인딩하는 것입니다. 중첩된 컨트롤러를 만들 수 있습니다. 상속 구조를 통해 데이터 모델과 기능을 공유할 수 있습니다. 실제 중첩은 내부 기본 상속 메커니즘을 통해 상위 컨트롤러 개체의 $scope가 내부 중첩된 $에 전달됩니다. 범위(함수를 포함한 모든 속성). 예:

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


...


$scope를 사용하여 모델 데이터 노출

$scope 속성을 명시적으로 생성할 수 있습니다(예: $scope.count = 5). 템플릿 자체를 통해 간접적으로 데이터 모델을 만들 수도 있습니다.

표현으로. 예를 들어

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


양식 항목에 ng-model 사용

표현식과 유사하게 ng-model에 지정된 모델 매개변수는 외부 컨트롤러에서도 작동합니다. 유일한 차이점은 양식 항목과 지정된 모델 사이에 양방향 바인딩이 생성된다는 것입니다.

Watch를 사용하여 데이터 모델의 변경 사항 모니터링

$watch의 함수 서명은 다음과 같습니다: $watch(watchFn,watchAction,deepWatch)
watchFn은 모니터링되는 데이터 모델의 현재 값을 반환하는 Angular 표현식 또는 함수가 포함된 문자열입니다. watchAction은 watchFn이 변경될 때 호출되는 함수 또는 표현식입니다. 해당 기능 서명은 다음과 같습니다.
function(newValue,oldValue,scope) deepWatch true로 설정되면 이 선택적 부울 매개변수는 모니터링되는 객체의 각 속성이 변경되었는지 확인하도록 Angular에 지시합니다. 단일 값을 모니터링하는 대신 배열의 요소나 개체의 모든 속성을 모니터링하려는 경우 이 매개 변수를 사용할 수 있습니다. Angular는 배열이나 객체를 순회해야 한다는 점에 유의하세요. 컬렉션이 크면 작업이 복잡하고 무거워집니다.

$watch 함수는 변경 알림을 받을 필요가 없는 경우 이 반환된 함수를 사용하여 모니터에서 로그아웃할 수 있습니다.
속성을 모니터링한 후 모니터링에서 로그아웃해야 하는 경우 다음 코드를 사용할 수 있습니다: var dereg = $scope.$watch('someModel.someProperty',callbackOnChange());
... dereg();

예제 코드는 다음과 같습니다.

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



    장바구니
   
머리>

   

       

            {{item.title}}
           
            {{항목.가격 | 통화}}
            {{항목.가격 * 항목.수량 | 통화}}
       

       
총계: {{totalCart()| 통화 }}

       
할인: {{bill.discount | 통화}}

       
소계: {{소계() | 통화}}

   

   
본문>


复主代码 代码如下:



    장바구니
   
머리>

   

       

            {{item.title}}
           
            {{항목.가격 | 통화}}
            {{항목.가격 * 항목.수량 | 통화}}
       

       
총액: {{bill.totalcart| 통화 }}

       
할인: {{bill.discount | 통화}}

       
소계: {{bill.소계 | 통화}}

   

   
본문>

큰 itms는 Angular에서 새로운 청구서를 발행하고 더 많은 요금을 지불하고 있습니다.函数, 我们可以实现这一点를 보세요.

复主代码 代码如下:

$scope.$watch(
var totalCart = function() {
            var total = 0;
for (var i=0,len=$scope.items.length;i                         총계 = 총 $scope.items[i].price * $scope.items[i].퀀티티;
                }
                     $scope.bill.totalcart = 합계;
$scope.bill.discount = 총계 > 100 ? 10:0;
$scope.bill.subtotal = 합계 - $scope.bill.discount;
            });

여러 항목 모니터링

여러 속성이나 개체를 모니터링하고 그 중 하나가 변경될 때 함수를 실행하려는 경우 두 가지 기본 옵션이 있습니다.

이러한 속성 연결 값 모니터링

배열이나 객체에 넣고 deepWatch 매개변수에 값을 전달합니다

각각 지침:
첫 번째 경우, 범위에 things 개체가 있으면 두 가지 속성 a와 b가 있습니다. 이 두 속성이 변경되면 callMe() 함수를 동시에 모니터링할 수 있습니다. $scope.$watch('things.a things.b',callMe(...));
목록이 매우 길면 연결된 값을 반환하는 함수를 작성해야 합니다.

두 번째 경우에는 사물 객체의 모든 속성을 모니터링해야 합니다.

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

$scope.$watch('things',callMe(...),true);

모듈을 사용하여 종속성 정리

provider(name,Object OR constructor()) 설명: 복잡한 논리 비교를 생성하는 구성 가능한 서비스입니다. Object를 매개변수로 전달하는 경우 Object 객체에는 서비스 이름을 반환해야 하는 $get이라는 함수가 있어야 합니다. 그렇지 않으면,Angularjs는 전달한 것이 생성자라고 생각하고 생성자를 호출하면 서비스 인스턴스 객체가 반환됩니다.
Factory(name,$get Function()) 설명: 구성할 수 없는 서비스인 생성 논리는 상대적으로 복잡합니다. 호출 시 서비스 인스턴스를 반환하는 함수를 지정해야 합니다. 공급자(이름,{$get:$getFunction()})로 볼 수 있습니다.
service(name,constructor()) 구성할 수 없는 서비스인 논리 생성은 비교적 간단합니다. 위의 제공자 함수의 생성자 매개변수와 유사하게 Angular는 이를 호출하여 서비스 인스턴스를 생성할 수 있습니다.

모듈팩토리 활용 예시

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



장바구니


머리>

쇼핑!!



   
        {{item.title}}
        {{item.description}}
        {{품목.가격 | 통화}}
   
테이블>
본문>

引入第삼방模块

대다양한 용도의 创建供所有代码使用 单个模块, 并把所有依赖的东西放入这个模块中, 这样就会工模好.但是,如果你打算使用第三方包提供的服务或者指令,他们一般道带有自己的模块,你需要在应用模块中定义依赖关心才能引他们。 例如: var appMod = angle.module('app',['Snazzy','Super']);

필터의 예

复主代码 代码如下:


장바구니


머리>

{{페이지제목 | titleCase}}


본문>


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
如何快速把你的 Python 代码变为 API如何快速把你的 Python 代码变为 APIApr 14, 2023 pm 06:28 PM

提到API开发,你可能会想到DjangoRESTFramework,Flask,FastAPI,没错,它们完全可以用来编写API,不过,今天分享的这个框架可以让你更快把现有的函数转化为API,它就是Sanic。Sanic简介Sanic[1],是Python3.7+Web服务器和Web框架,旨在提高性能。它允许使用Python3.5中添加的async/await语法,这可以有效避免阻塞从而达到提升响应速度的目的。Sanic致力于提供一种简单且快速,集创建和启动于一体的方法

PHP8.0中新的类型别名语法PHP8.0中新的类型别名语法May 14, 2023 pm 02:21 PM

随着PHP8.0的发布,新增了一种类型别名语法,使得使用自定义的类型变得更加容易。在本文中,我们将深入了解这种新的语法,以及它对开发人员的影响。什么是类型别名?在PHP中,类型别名本质上是一个变量,它引用另一个类型的名称。这个变量可以像其他类型一样使用,并在代码中的任何地方声明。这种语法的主要作用是为常用的类型定义自定义别名,使得代码更加易于阅读和理解。

2022年最新5款的angularjs教程从入门到精通2022年最新5款的angularjs教程从入门到精通Jun 15, 2017 pm 05:50 PM

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

使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验Jun 27, 2023 pm 07:37 PM

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

PHP8.0中的父类调用语法PHP8.0中的父类调用语法May 14, 2023 pm 01:00 PM

PHP是一种广泛应用于Web开发的服务器端脚本语言,而PHP8.0版本中引入了一种新的父类调用语法,让面向对象编程更加方便和简洁。在PHP中,我们可以通过继承的方式创建一个父类和一个或多个子类。子类可以继承父类的属性和方法,并可以通过重写父类的方法来修改或扩展其功能。在普通的PHP继承中,如果我们想在子类中调用父类的方法,需要使用parent关键字来引用父

使用PHP和AngularJS构建Web应用使用PHP和AngularJS构建Web应用May 27, 2023 pm 08:10 PM

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

学会使用CSS选择器的基本语法学会使用CSS选择器的基本语法Jan 13, 2024 am 11:44 AM

掌握基本的CSS选择器语法,需要具体代码示例CSS选择器是前端开发中非常重要的一部分,它可以用来选择和修改HTML文档的各个元素。掌握基本的CSS选择器语法对于编写高效的样式表是至关重要的。本文将介绍一些常见的CSS选择器以及对应的代码示例。元素选择器元素选择器是最基本的选择器,可以通过元素的标签名来选择对应的元素。例如,要选择所有的段落(p元素),可以使用

乘方运算在C语言中的用法及语法乘方运算在C语言中的用法及语法Feb 18, 2024 pm 04:05 PM

C语言中乘方运算的语法和用法简介:在C语言中,乘方运算(poweroperation)是一种常见的数学运算,它用于计算一个数的幂。在C语言中,我们可以使用标准库函数或者自定义函数来实现乘方运算。本文将详细介绍C语言中乘方运算的语法和用法,并提供具体的代码示例。一、使用math.h中的pow()函数在C语言中,math.h标准库中提供了pow()函数,用于执

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를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

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

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구