学了差不多一个礼拜,感觉这个库还是很不错的,在应用中一些小笔记,其实这些笔记现在来看确实很基础,但是把这个博客当成我自己的一个记录历程,所以我也把这点笔记拿上来:
1.是一个js框架,是一个以js语言编写的库(jq也是一个库)
2.ng-app只能在一个页面上定义一个
3.html5允许扩展的属性,以data-开头
所以可以用data-ng-来让网页对HML5有效
4.表达式写在大括号内
5. angular app初始化一个angular应用程序
angular module定义angular的应用
angular controller用于控制angularJs应用。控制器
6.ng-app ng-module都是一个指令
7. directive函数来添加自定义的指令,分为三种
第一种:
<run-directive></run-directive>
<div run-directive></div>
app.directive(‘runDirective’,function(){
return{
template:’<h1>自定义指令</h1>'
}
})
第二种:
<div class="run-directive"></div>
app.directive('runDirective',function(){
return {
restrict:"C",
template:'<h1>自定义指令</h1>'
};
})
第三种:
<!-- directive:run-directive -->
app.directive('runDirective',function(){
return {
restrict:"M",
replace:true,
template:'<h1>自定义指令</h1>'
};
})
restrict的值可以是以下几种:
E作为元素名使用
A作为属性使用
C作为类名使用
M作为注释使用
ps:因为restrict的默认值是EA,所以作为元素名跟属性的时候不需要设置restrict
8.template:模板
model:模型
module:模块
odd:奇数
event:偶数
9.ng-model:可以验证表单输入
ng-model指令可以为应用程序提供状态值(invalid,dirty,touched,error)
使用ng-model指令可以基于他们的状态来为HTML元素提供css类
ng-model指令根据表单域的状态来添加、移除类
ng-empty
ng-not-empty
ng-touched
ng-untouched
ng-valid
ng-invalid
ng-dirty
ng-pending
ng-pristine
10.angular用了MVC模式吗?
M:model(模型),当前视图中可用的数据
V:view(视图),即HTML
C:controller(控制器),即javascript函数,可以添加或修改属性
scope是模型
如果你改变了视图,模型和控制器也会相应的更新
scope的作用范围要清晰
11.根作用域:$rootScope
所有应用独有一个$rootScope,他可以作用在ng-app指令包含的所有HTML元素中
12.控制器,是js对象,由标准的js对象的构造函数创建
13.过滤器:controller.html
14.http请求会存在跨域问题
只能在本站服务器上
15.表单构成:
input元素,
select元素
button元素
textare元素
16.$dirty:表单有填写记录
$valid:字段内容合法
17.依赖注入机制:value factory service provider constant