angular是什么:为动态web应用设计的结构框架;
核心的功能:
1,双向数据绑定:实现了model和view的完全绑定在一起,model变化,view也变化,反之亦然;
上面是一个小例子;
2,模板:
模板相当于html文件被浏览器解析到DOM中,angular把模板当做是Dom来操作,去生成一些指令来完成对view的数据绑定
3,MVVM:
Model-View-ViewModel
model:模型中包含了代表当前的应用数据,
view :视图显示了这些数据;
controller :控制器管理模型和视图之间的关系;
4,依赖注入:
拥有内建的依赖注入子系统,可以帮助开发人员更容易的开发,理理解和测试应用
5,指令:
ng-app: 表明一个angularjs应用程序,
ng-init:初始化作用,变量、对象、数组;一般很少使用,都是用一个控制器来代替它
ng-model:使用ng-model指令可以把程序数据绑定到html中,实现model和view的双向绑定;
表达式{{}} 在{{}}中可以写表达式;
ng-bind:和{{}}类似,ng-bind在angular解析渲染完毕后将数据显示出来;
ng-click:定义一个angularjs单击事件;
ng-repeat:遍历数组集合中的每一个元素;
ng-class:预设指令,用来动态自定义dom元素的css className
ng-include:将多个页面的公共不封提取出来;
6 过滤器: | 管道符
格式化为货币格式:{{price | currency }} {{price | currency : ‘¥’}}
全部转化为大写:{{name | uppercase}}
全部转化为小写:{{name | lowercase}}
限制数组或字符串串⻓长度 {{ arr | limitTo : 2 }}
给数字添加千位分隔符
{{ 12345 | number }}
{{ 12345 | number : 2 }} 保留留2位小数
排序
ages | orderBy: 'age' : false 升序
ages | orderBy: 'age' : true 降序
ages | orderBy: 'age'
ages | orderBy 数组升序
ages | orderBy: order: true 数组降序
7 控制器:
AngularJS程序被控制器器控制
var app = angular.module(“myApp”, []); 获取应用程序
app.controller(“myCtrl”, function ($scope) {}); 控制器器设置
$scope 用来保存AngularJS Model的对象
设置值
添加变量量
添加函数
8 内置服务 :
AngularJS提供了了一些功能的封装,但是使用方法和之前的库不不太一样
在AngularJS中是以一个参数的形式传递到控制器器中,在controller中去使⽤用
有关定时器器
$timeout
$timeout(function () {
console.log("haha");
}, 2000);
$interval
$interval(function () {
console.log("hehe");
}, 200);
和JS定时器器区别
返回值 id || promies
取消方式
$timeout.cancel();
$interval.cancel();
内部实现封装了了特殊内容
$location absUrl() 获取地址
$http 发起网络请求,获取数据
$http.get(“http://localhost:8888/data.json”).success(function (data) {
console.log(data);
});
9 自定义指令:
通过内置指令为应⽤用添加功能,并且AngularJS允许自定义指令创建指令restrict: "E",
restrict: "A"
restrict: "C"restrict: "M",replace: trueapp.directive("lidazeDirective", function () {return {restrict: ‘A’,template: "
自定义指令哦
"};});templateUrl: ‘home.html’ 设置自定义指令对应的地址