AngularJSAngularJS实用基础知识—入门必备

style=”font-family: 楷体; font-size: 18pt; color: #0000ff”>前言

style=”font-family: 楷体; font-size: 14pt”>今天来和豪门读一下AngularJS……

  AngularJS
通过新的特性和表达式扩展了 HTML。

  AngularJS
可以构建一个单一页面应用程序。

  AngularJS
学习起来非常简单。

 

 

一、AngularJS指令与表达式

【AngularJS常用命令】
1、ng-app:声明Angular所管辖的区域,一般写以body或HTML上,原则及一个页面只出一个。
2、ng-model:把元素值(比如输入域的价值)绑定到应用程序的变量中。
eg:

<input type="text" ng-model="name"/>

3、ng-bind:把应用程序变量中的数额绑定到HTML视图被,可用表达式替代。
eg:

<div id="div1" ng-bind="name"></div>

等效于

<div id="div1" >{{name}}</div>

4、ng-init:初始化
AngularJS应用程序变量。
eg:

<body data-ng-app="" ng-init="name=123">

5、表达式:{{}}绑定表达式,可以蕴涵文字,运算符和变量。
而是表达式在网页加载瞬间会面视{{}},所以可以用ng-bind=””替代。
eg:

{{ 5 + "" + 5 + ',Angular' }}

 

【基本概念】
命:AngularJS中,通过扩展HTML的性质提供功能。

用,ng-开头的新属性,被我们成为指令。

 

二、AngularJS中的MVC中的作用域

【MVC三层架构】
1、model(模型):
应用程序中用来拍卖数量的一些。(保存或者改动数据及数据库、变量等)。AngularJS中的Model特指的凡:数据。
View(视图):用户观看的用于展示数据的页面。
Controller(控制器):应用程序中处理用户交互的片。负责从视图读取数据,控制用户输入,并为范发送数据。

2、工作规律:
用户从视图层发出请求,controller接收到请求后倒车让相应的model处理,model处理就后赶回结果吃controller,并当View层反馈让用户.

3、创建一个Angular模块,即ng-app所绑定的局部
,需传递两只参数:
①模块号:即ng-app所要绑定的称谓,ng-app=”myApp”
②数组:需要注入的模块名称,不欲而为空。
eg:var app=
angular.module(“myApp”,[]);

以Angular模块上,创建一个控制器Controller,需要传递两只参数。
①Controller名称,即ng-controller需要绑定的称号。ng-controller=”myCtrl”
②Controllerd的构造函数:构造函数可以传多只参数,包括$scope/$rootScope以及各种系统放对象;

【AngularJS中之作用域】
①$scope:局部作用域,声明在$scope上的性能和办法,只能当现阶段底Controller中使用
②$rootScope:根作用域,声明在$rootScope上的特性与措施,
足于ng-app所蕴涵的另外区域采用(无论是否跟Controller,或是否当Controller包含范围被)

>>>若没运用$scope声明变量,而一直当HTML中使用ng-model绑定的变量作用域为:
1、如果ng-model在某个ng-controller中,则是变量会默认绑定到当前Controller的$scope上;
2、如果ng-model没有在其他一个ng-controller中,此变量会绑定到$rootScope上。

 

三、AngularJS过滤器

AngularJS中,过滤器可以动用一个管道字符(|)添加到表达式和下令中。

>>>系统内置过滤器:
currency:格式化数字为钱格式。
filter:从数组项中挑选一个子集。
lowercase:格式化字符串为稍写。
orderBy:根据某表达式排列数组。
uppercase:格式化字符串为大写。

eg:
<p>{{“aBcDeF”|uppercase}}</p>
<p>{{“aBcDeF”|lowercase}}</p>
<p>{{123456|currency}}</p>

 

【自定义过滤器】

1 .filter('reverse',function(){ //可以注入依赖
2 return function(text){
3 if(!angular.isString(text)){
4 return "您输入的不是字符串!"
5 }else{
6 return text.split("").reverse().join("");
7 }
8 }
9 })

 

 

四、AngularJS中的 http && select && DOM操作

一、AngularJS中的http
$http 是 AngularJS
中的一个基本服务,用于读取远程服务器的数量。

二、AngularJS中的select
①采用数组作为数据源,其中,x表示数组的各级一样件。
默认会将x直接绑定到option的value中,而option显示的始末,由前的x
for…决定。
eg:
<section ng-model=
“name” ng-options=”x.site for x in sites”></section>

②使对象作为数据源,其中,(x,y)表示键值对,x为键,y为价值。
默认会将值y绑定到option的value中,而option显示的情节,由前的x
for…决定。
eg:
<section ng-model=
“name” ng-options=”x for (x,y) in sites”></section>

三、AngularJS中的DOM操作
①ng-disabled=”true/false”
当传入true时,控件禁用。传入false时,启用。
<label>
<input
type=”checkbox” ng-model=”mySwitch”>是否同意
小希真萌!
</label>
<button
ng-disabled=”!mySwitch” class=”btn
btn-primary”>点我!</button>
<p></p>

②ng-show
默认隐藏
传入true时展示
<label>
<input
type=”checkbox” ng-model=”mySwitch1″>是否
显示?
</label>
<button
ng-show=”mySwitch1″ class=”btn
btn-primary”>点我!</button>
<p></p>

③ng-hide
默认显示
传入true是潜伏
<label>
<input
type=”checkbox” ng-model=”mySwitch2″>是否隐身?
</label>
<button
ng-hide=”mySwitch2″ class=”btn
btn-primary”>点我!</button>
<p></p>

④ng-click
概念了AngularJS中的点击事件。
只得触发绑定以Angular作用域中的特性和措施。
<button
ng-click=”count = count + 1″>点我!</button>
<p>{{ count
}}</p>
<button
ng-click=”func()”>说一下感想吧!</button>

 

DOM操作附录:
eg:
先导入JS文件angular.js!!!

<script src="libs/angular.js"></script>

JS代码:

1 angular.module("app",[])
2 .controller("ctrl",function($scope,$rootScope){
3 $scope.count = 10;
4 $scope.func = function(){
5 alert("小希真萌!");
6 }
7 })

 

五、AngularJS中的表单验证

1、表单中泛的说明操作:
$dirty:表单有填写记录
$valid:字段内容官的
$invalid:字段内容是黑的
$pristine:表单没有填写记录
$error:表单验证不经过的错误信息

2、验证时欲让表单及索要验证的input,设置name属性;
让form及input设置name后,会拿form表单信息,默认绑定到$scope作用域中,故可以使用formName.inputName.$验证操作
得到证明结果;
eg:
formName.inputName.$dirty=”true”
表单为填了
formName.inputName.$invalid=”true”
表单输入不合法
formName.inputName.$error.required=”true”
表单必填但不填
$error支持的征有:required/minlength/maxlength/pattern/email/number/data
/url等……

3、为免冲突,例如利用type=”email”时,H5也会见进行验证操作。
假若光想以AngularJS验证,可以采用<form
novalidate></form>属性,禁用H5自带验证功能。

 

六、AngularJS中的动画 

AngularJS中应用动画

提供了动画片效果,可以配合
CSS使用。

1、AngularJS
使用动画片需要引入angular-animate.js库!

2、如果页面被并未自定义的模块(ng-app),可以一直绑定系统模块ng-app=”ngAnimate”;
万一页面中已来自定义模块,可以当从定义模块后注入”ngAnimate”模块。
eg:angular.module(“app”,[“ngAnimate”])

3、当调用相关指令控制元素显示隐藏时,会自动抬高对应的class类;
ng-show/ng-hide
会移除/添加ng-hide
ng-if/ng-switch/ng-repeat等其它指令,需要各自安装显示后同潜伏后底class样式;
显示后:.ng-enter-active,.ng-leave{}
隐藏后:.ng-enter,.ng-leave-active{}

七、AngularJS中的路由

1、载入了贯彻路由于的 js
文件:angular-route.js。

2、包含了 ngRoute
模块作为主应用模块的依赖性模块。
eg:angular.module(“app”,[“ngRoute”])

3.就要超链接转吧总长有格式:
eg:<a
href=”#/page1″>page1</a>

4.以config中,注入$routeProvider,进行路由配置:
$routeProvider

.when(‘/’,{template:’这是首页页面’})

.when(‘/page1′,{template:’这是page1页面’})

.when(‘/page2′,{template:’这是page2页面’})

.when(‘/page3′,{template:’这是page3页面’})

.otherwise({redirectTo:’/’});
})
5、在页面的适度岗位,添加ng-view,用于承载打开的页面
<div
ng-view></div> <ng-view></ng-view>

【路由于参数对象被只是选属性】
1.tempalte:自定的HTML模板,会加载在ng-view中
2.tempalteUrl:导入外部的HTML模板,为了避免冲突外部的HTML只待保留body内部的代码即可;
3.redirectTo:重定向为某页面,一般用于.otherwise()中;
4.controller:在当模板上实施之controller函数,生成新的scope

 

 

AngularJS 1

 

 

 

今日的理论知识先分享到此地,愿能帮助及公~~~小菜鸟一样枚,感谢您的支撑!

 

 

AngularJS 2

 

 

作者:夕照希望
出处:http://www.cnblogs.com/hope666/ 

相关文章