AngularJs自学笔记(2)
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>
结果如下:
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对象
其和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>
运行结果如下:
这里直接说说我对这个控制器的理解吧,其实他就是一个简单的类的创建,对应着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>
结果:
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>
当我什么都没有输入的时候,输出结果如下
当我输入g之后,输出结果如下
可以看到,输出的结果中就只有那些含有输入字符串的项目了
从这个例子中也可以看出过滤器是可以连续使用的

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

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

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

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

뜨거운 주제











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

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

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

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

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

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

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

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