목차
AngularJS 指令
AngularJS 表达式
AngularJS对象
AngularJS控制器
AngularJS过滤器
데이터 베이스 MySQL 튜토리얼 AngularJs自学笔记(2)

AngularJs自学笔记(2)

Jun 07, 2016 pm 03:33 PM
angularjs 지침 메모 자율학습

AngularJS 指令 AngularJS 指令是以 ng 作为前缀的 HTML 属性 div ng-app = "" ng-init = "firstName='John'" p 姓名为 span ng-bind = "firstName" / span / p / div 比如上面的ng-app ng-bind ng-init都是AngularJS 指令 ng-app ng-bind 用来将 span 的inn

AngularJS 指令

AngularJS 指令是以 ng 作为前缀的 HTML 属性

<code><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"firstName='John'"</span>>

<span>p</span>>姓名为 <span>span</span> <span>ng-bind</span>=<span>"firstName"</span>><span><span>span</span>></span><span><span>p</span>></span>

<span><span>div</span>></span></code>
로그인 후 복사

比如上面的ng-app ng-bind ng-init都是AngularJS 指令

ng-app

ng-bind用来将<span></span> 的innerHTML的数值进行绑定,让span内的value值变为firstName变量中的值
这里需要注意的是用ng-bind与用表达式来进行数据绑定有一定的区别,例如:

<code><span><span>p</span> <span>ng-bind</span>=<span>"firstName"</span>></span><span><span>p</span>></span>
<span>p</span>><span>{{ <span>firstName</span> }}</span><span><span><span>p</span>></span></span></code>
로그인 후 복사

ng-bind的方式是当AngularJS对数据渲染完毕后才会显示的,而表达式的方式就算AngularJS没有对这个变量渲染完毕也是会有可能显示的(就是说会直接在页面上显示字符串“{{ firstName }}”)

ng-init用来初始化AngularJS程序的变量(很少用)

<code><input>type=<span>"number"</span> ng-model=<span>"quantity"</span>></code>
로그인 후 복사

ng-model 用来将input中的value的值与AngularJS中的变量进行绑定,这里是与变量quantity进行了绑定

ng-repeat
例如:

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"names=['Jani','Hege','Kai']"</span>></span>
  <span>p</span>>使用 ng-repeat 来循环数组<span><span>p</span>></span>
  <span>ul</span>>
    <span>li</span> <span>ng-repeat</span>=<span>"x in names"</span>>
      <span>{{ <span>x</span> }}</span><span>
    <span><span>li</span>></span>
  <span><span>ul</span>></span>
<span>div</span>></span></code>
로그인 후 복사

结果如下:
AngularJs自学笔记(2)

ng-controller 用来创建一个控制器,具体使用参照下面写的控制器部分

还有许多ng指令,后续学到可以在这里补充


AngularJS 表达式

AngularJS 表达式写在双大括号内,其表达式的内容和形式与Javascript是一致的,它们可以包含文字、运算符和变量

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"quantity=1;cost=5"</span>></span>

<span>p</span>>总价: <span>{{ <span>quantity</span> * <span>cost</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span>

<span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"firstName='John';lastName='Doe'"</span>></span>

<span>p</span>>姓名: <span>{{ <span>firstName</span> + <span>" "</span> + <span>lastName</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span>
</span></code>
로그인 후 복사

结果如下:
AngularJs自学笔记(2)


AngularJS对象

其和Javascript创建对象是一样的

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"person={firstName:'John',lastName:'Doe'}"</span>></span>

<span>p</span>>姓为 <span>{{ <span>person.lastName</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span></span></code>
로그인 후 복사

上面这些东西都是一些基本的内容,基本上与JS差不多,当然现在可能不够全面,后续如果有新的内容再回来补充。

AngularJS控制器

首先,先来一段代码

<code><span><span>div</span> <span>ng-app</span>=<span>"main"</span> <span>ng-controller</span>=<span>"personController"</span>></span>

名: <span>input</span> <span>type</span>=<span>"text"</span> <span>ng-model</span>=<span>"person.firstName"</span>><span>br</span>>
姓: <span>input</span> <span>type</span>=<span>"text"</span> <span>ng-model</span>=<span>"person.lastName"</span>><span>br</span>>
<span>br</span>>
姓名: <span>{{<span>person.firstName</span> + <span>" "</span> + <span>person.lastName</span>}}</span><span>

<span><span>div</span>></span>

<span>script</span>></span><span>
<span><span>function</span> <span>personController</span><span>($scope)</span> {</span>
    $scope.person = {
        firstName: <span>"John"</span>,
        lastName: <span>"Doe"</span>
    };
}
</span><span><span>script</span>></span></code>
로그인 후 복사

运行结果如下:

AngularJs自学笔记(2)

这里直接说说我对这个控制器的理解吧,其实他就是一个简单的类的创建,对应着JAVA来看,ng-controller="personController" 就对应着JAVA中创建了一个名字为personController的类,而下面以这个类的名字来命名的一个函数就是这个类对应的构造函数,$scope可以是看做JAVA中的this,而$scope.person = {....} 则是为这个personController添加了一个名为person的属性,这里,这个person属性是一个对象属性,其也有两个属性firstName和lastName而两个input域里面的值也对其person属性中的这两个属性进行了绑定,其实换做Java代码可以看成这样

<code><span>class</span> personController{

    Person person;

    personController(){
        <span>this</span>.person.firstName = <span>"John"</span>;
        <span>this</span>.person.lastName = <span>"Doe"</span>;
    }
}

<span>class</span> Person {

    <span>String</span> firstName;

    <span>String</span> lastName;
}</code>
로그인 후 복사

当然,函数也是可以作为对象的属性的

<code><span>script</span>><span>
<span><span>function</span> <span>personController</span><span>($scope)</span> {</span>
    $scope.person = {
        firstName: <span>"John"</span>,
        lastName: <span>"Doe"</span>,
        fullName: <span><span>function</span><span>()</span> {</span>
            <span>var</span> x;
            x = $scope.person;
            <span>return</span> x.firstName + <span>" "</span> + x.lastName;
        }
    };
}
</span><span><span>script</span>></span></code>
로그인 후 복사

这种就相当于

<code><span>class</span> personController{

    Person person;

    personController(){
        <span>this</span>.person.firstName = <span>"John"</span>;
        <span>this</span>.person.lastName = <span>"Doe"</span>;
    }
}

<span>class</span> Person {

    <span>String</span> firstName;

    <span>String</span> lastName;

    private <span>String</span> fullName(){
        <span>this</span>.firstName + <span>" "</span> + <span>this</span>.lastName;
    }
}</code>
로그인 후 복사

控制器也是可以有方法的

<code><span>script</span>><span>
<span><span>function</span> <span>personController</span><span>($scope)</span> {</span>
    $scope.person = {
        firstName: <span>"John"</span>,
        lastName: <span>"Doe"</span>,
     };
     $scope.fullName = <span><span>function</span><span>()</span> {</span>
         <span>var</span> x;
         x = $scope.person; 
         <span>return</span> x.firstName + <span>" "</span> + x.lastName;
     };
}
</span><span><span>script</span>></span></code>
로그인 후 복사

这里就相当于

<code><span>class</span> personController{

    Person person;

    personController(){
        <span>this</span>.person.firstName = <span>"John"</span>;
        <span>this</span>.person.lastName = <span>"Doe"</span>;
    }

    private <span>String</span> fullName(){
        <span>return</span> <span>this</span>.person.firstName + <span>" "</span> + <span>this</span>.person.lasName;
    }
}

<span>class</span> Person {

    <span>String</span> firstName;

    <span>String</span> lastName;

}</code>
로그인 후 복사

所以目前简单看起来,AngularJs的控制器可以把它当做一个Java的类来看待

AngularJS过滤器

AngularJS过滤器可以用来转换数据,其可以通过一个”|”管道字符添加到表达式或者指令的后面来将数据进行转换,例如:

<code><span><span>div</span>  <span>ng-init</span>=<span>"firstName='John';lastName='Doe'"</span>></span>
<span>p</span>>姓名: <span>{{ (<span>firstName</span>  + <span>" "</span> + <span>lastName</span>) | <span>uppercase</span> }}</span><span><span><span>p</span>></span>
<span><span>div</span>></span></span></code>
로그인 후 복사

输出结果如下:

<code>姓名: JOHN DOE</code>
로그인 후 복사

可以看到当添加uppercase过滤器之后,输出的字符串都被大写了

还有几种简单的过滤器

lowercase 过滤器 就是将表达式的值变为小写

currency 过滤器 将数值转化为金钱

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-controller</span>=<span>"costController"</span>></span>

数量:<span>input</span> <span>type</span>=<span>"number"</span> <span>ng-model</span>=<span>"quantity"</span>>
价格:<span>input</span> <span>type</span>=<span>"number"</span> <span>ng-model</span>=<span>"price"</span>>

<span>p</span>>总价 = <span>{{ (<span>quantity</span> * <span>price</span>) | <span>currency</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span></span></code>
로그인 후 복사

结果:

AngularJs自学笔记(2)

orderBy 过滤器

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-controller</span>=<span>"namesController"</span>></span>
<span>p</span>>循环对象:<span><span>p</span>></span>
<span>ul</span>>
  <span>li</span> <span>ng-repeat</span>=<span>"x in names | orderBy:'country'"</span>>
    <span>{{ <span>x.name</span> + ', ' + <span>x.country</span> }}</span><span>
  <span><span>li</span>></span>
<span><span>ul</span>></span>
<span>div</span>></span></code>
로그인 후 복사

结果:

<code>循环对象:
Kai, Denmark
Jani, Norway
Hege, Sweden</code>
로그인 후 복사

这个过滤器对repeat指令中的数组进行了排序,并且是以country字段为依据进行排序,可以看到输出的结果中Country字段的值就是按由小到大排列而成的

filter 过滤器
其可以过滤出含有输入的字段的值的条目

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-controller</span>=<span>"namesController"</span>></span>

<span>p</span>>输入过滤:<span><span>p</span>></span>
<span>p</span>><span>input</span> <span>type</span>=<span>"text"</span> <span>ng-model</span>=<span>"name"</span>><span><span>p</span>></span>
<span>ul</span>>
  <span>li</span> <span>ng-repeat</span>=<span>"x in names | filter:name | orderBy:'country'"</span>>
    <span>{{ (<span>x.name</span> | <span>uppercase</span>) + ', ' + <span>x.country</span> }}</span><span>
  <span><span>li</span>></span>
<span><span>ul</span>></span>
<span><span>div</span>></span></span></code>
로그인 후 복사

当我什么都没有输入的时候,输出结果如下

AngularJs自学笔记(2)

当我输入g之后,输出结果如下

AngularJs自学笔记(2)

可以看到,输出的结果中就只有那些含有输入字符串的项目了
从这个例子中也可以看出过滤器是可以连续使用的

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Terraria에서 명령을 사용하여 아이템을 얻는 방법은 무엇입니까? -테라리아에서 아이템을 수집하는 방법은 무엇인가요? Terraria에서 명령을 사용하여 아이템을 얻는 방법은 무엇입니까? -테라리아에서 아이템을 수집하는 방법은 무엇인가요? Mar 19, 2024 am 08:13 AM

Terraria에서 명령을 사용하여 아이템을 얻는 방법은 무엇입니까? 1. 테라리아에서 아이템을 주는 명령은 무엇인가요? 테라리아 게임에서 아이템에 명령을 내리는 것은 매우 실용적인 기능입니다. 이 명령을 통해 플레이어는 몬스터와 싸우거나 특정 위치로 순간이동할 필요 없이 필요한 아이템을 직접 얻을 수 있습니다. 이를 통해 시간을 크게 절약하고, 게임 효율성을 향상시키며, 플레이어가 세계를 탐험하고 건설하는 데 더 집중할 수 있습니다. 전반적으로 이 기능은 게임 경험을 더 부드럽고 즐겁게 만듭니다. 2. Terraria를 사용하여 아이템 명령을 내리는 방법 1. 게임을 열고 게임 인터페이스로 들어갑니다. 2. 키보드의 "Enter" 키를 눌러 채팅창을 엽니다. 3. 채팅창에 "/give[플레이어 이름][아이템 ID][아이템 수량]" 명령 형식을 입력하세요.

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 메모를 삭제하는 방법 Mar 21, 2024 pm 08:12 PM

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 앱에서 메모를 편집할 수 있습니다. 다음으로 편집기는 Xiaohongshu 메모 삭제 방법에 대한 사용자 사진과 텍스트를 가져옵니다. 보세요! Xiaohongshu 사용 튜토리얼 Xiaohongshu 메모 삭제 방법 1. 먼저 Xiaohongshu 앱을 열고 메인 페이지로 들어가서 오른쪽 하단에 있는 [Me]를 선택하여 특별 영역으로 들어갑니다. 2. 그런 다음 내 영역에서 다음과 같이 메모 페이지를 클릭합니다. 3. 노트 페이지에 들어가서 오른쪽 상단에 있는 [점 3개]를 클릭합니다. 4. 마지막으로 기능 표시줄이 하단에 확장되고 [삭제]를 클릭하여 완료합니다.

Xiaohongshu에서 삭제된 메모를 복구할 수 있나요? Xiaohongshu에서 삭제된 메모를 복구할 수 있나요? Oct 31, 2023 pm 05:36 PM

Xiaohongshu에서 삭제된 메모는 복구할 수 없습니다. 지식 공유 및 쇼핑 플랫폼인 Xiaohongshu는 사용자에게 메모를 기록하고 유용한 정보를 수집하는 기능을 제공합니다. Xiaohongshu의 공식 성명에 따르면 삭제된 메모는 복구할 수 없습니다. Xiaohongshu 플랫폼은 전용 노트 복구 기능을 제공하지 않습니다. 즉, Xiaohongshu에서 메모가 삭제되면 실수로 삭제되었거나 다른 이유로 삭제된 콘텐츠를 플랫폼에서 검색하는 것이 일반적으로 불가능하다는 것을 의미합니다. 특별한 상황이 발생하는 경우 Xiaohongshu 고객 서비스 팀에 연락하여 문제 해결에 도움을 받을 수 있는지 알아볼 수 있습니다.

Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Mar 21, 2024 pm 09:30 PM

Xiaohongshu 사용자로서 우리 모두는 게시된 노트가 갑자기 사라지는 상황을 경험해 본 적이 있을 것입니다. 이는 의심할 여지 없이 혼란스럽고 걱정스러운 일입니다. 이런 경우, 우리는 어떻게 해야 합니까? 이번 글에서는 "샤오홍슈에서 발행한 노트가 누락된 경우 어떻게 해야 할까요?"라는 주제를 중심으로 자세한 답변을 드리겠습니다. 1. Xiaohongshu에서 발행한 노트가 누락된 경우 어떻게 해야 합니까? 첫째, 당황하지 마십시오. 메모가 누락된 경우 침착함을 유지하는 것이 중요하며 당황하지 마십시오. 이는 플랫폼 시스템 장애 또는 운영 오류로 인해 발생할 수 있습니다. 출시 기록을 확인하는 것은 쉽습니다. Xiaohongshu 앱을 열고 "나" → "게시" → "모든 출판물"을 클릭하면 자신의 출판 기록을 볼 수 있습니다. 여기에서는 이전에 게시된 메모를 쉽게 찾을 수 있습니다. 3.다시 게시합니다. 발견된 경우

최신 iOS 17 시스템에서 iPhone에 Apple Notes를 연결하는 방법 최신 iOS 17 시스템에서 iPhone에 Apple Notes를 연결하는 방법 Sep 22, 2023 pm 05:01 PM

링크 추가 기능을 사용하여 iPhone에서 AppleNotes를 연결하세요. 참고: iOS17이 설치된 경우에만 iPhone의 Apple Notes 간에 링크를 생성할 수 있습니다. iPhone에서 메모 앱을 엽니다. 이제 링크를 추가하려는 노트를 엽니다. 새 메모를 생성하도록 선택할 수도 있습니다. 화면의 아무 곳이나 클릭하세요. 메뉴가 표시됩니다. "링크 추가" 옵션을 보려면 오른쪽에 있는 화살표를 클릭하세요. 클릭하세요. 이제 메모 이름이나 웹페이지 URL을 입력할 수 있습니다. 그런 다음 오른쪽 상단의 완료를 클릭하면 추가된 링크가 노트에 나타납니다. 단어에 링크를 추가하려면 해당 단어를 두 번 클릭하여 선택하고 "링크 추가"를 선택한 다음

Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Mar 12, 2024 am 10:40 AM

Xiaohongshu 노트에 제품 링크를 추가하는 방법 Xiaohongshu 앱에서는 사용자가 다양한 콘텐츠를 탐색할 수 있을 뿐만 아니라 쇼핑도 할 수 있기 때문에 이 앱에는 쇼핑 추천 및 좋은 제품 공유에 대한 콘텐츠가 많이 있습니다. 이 앱에서는 일부 쇼핑 경험을 공유하고, 협력할 판매자를 찾고, 메모에 링크를 추가하는 등의 작업도 할 수 있습니다. 이 앱은 편리할 뿐만 아니라 많은 전문가가 만들 수 있기 때문에 많은 사람들이 쇼핑에 기꺼이 이 앱을 사용합니다. 흥미로운 콘텐츠를 탐색하고 자신에게 맞는 의류 제품이 있는지 확인할 수 있습니다. 노트에 제품 링크를 추가하는 방법을 살펴보겠습니다. 샤오홍슈 노트에 제품 링크를 추가하는 방법 휴대폰 데스크톱에서 앱을 엽니다. 앱 홈페이지를 클릭하세요

VUE3 빠른 시작: Vue.js 지침을 사용하여 탭 전환 VUE3 빠른 시작: Vue.js 지침을 사용하여 탭 전환 Jun 15, 2023 pm 11:45 PM

이 글은 초보자가 Vue.js3를 빠르게 시작하고 간단한 탭 전환 효과를 얻을 수 있도록 돕는 것을 목표로 합니다. Vue.js는 재사용 가능한 구성 요소를 구축하고 애플리케이션 상태를 쉽게 관리하며 사용자 인터페이스 상호 작용을 처리하는 데 사용할 수 있는 인기 있는 JavaScript 프레임워크입니다. Vue.js3은 최신 버전의 프레임워크로, 이전 버전과 비교하여 큰 변화가 있었지만 기본 원칙은 변경되지 않았습니다. 이 기사에서는 독자가 Vue.js에 익숙해질 수 있도록 Vue.js 지침을 사용하여 탭 전환 효과를 구현합니다.

Xiaohongshu에 노트 튜토리얼을 게시하는 방법은 무엇입니까? 메모를 게시하여 사람들을 차단할 수 있나요? Xiaohongshu에 노트 튜토리얼을 게시하는 방법은 무엇입니까? 메모를 게시하여 사람들을 차단할 수 있나요? Mar 25, 2024 pm 03:20 PM

라이프스타일 공유 플랫폼 샤오홍슈는 음식, 여행, 뷰티 등 다양한 분야의 노트를 다루고 있습니다. 많은 사용자가 Xiaohongshu에서 자신의 메모를 공유하고 싶지만 방법을 모릅니다. 이 글에서는 Xiaohongshu에 노트를 게시하는 과정을 자세히 설명하고 플랫폼에서 특정 사용자를 차단하는 방법을 살펴보겠습니다. 1. Xiaohongshu에 노트 튜토리얼을 게시하는 방법은 무엇입니까? 1. 등록 및 로그인: 먼저 휴대폰에 Xiaohongshu 앱을 다운로드하고 등록 및 로그인을 완료해야 합니다. 개인센터에서 개인정보를 작성하는 것은 매우 중요합니다. 아바타를 업로드하고 닉네임과 소개를 입력하면 다른 사용자가 귀하의 정보를 더 쉽게 이해할 수 있을 뿐만 아니라 귀하의 메모에 더 집중할 수 있습니다. 3. 퍼블리싱 채널 선택: 홈페이지 하단에서 '메모 보내기' 버튼을 클릭하고 퍼블리싱하려는 채널을 선택합니다.

See all articles