发表于: 2016-10-09 23:33:07
1 2040
今天完成的事:
1. 根据启辰师兄的回复查了这段代码的意思和作用
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function (data, headersGetter) {
return $.param(data);
},
2. task8中,数据和逻辑都全部写在控制里,尝试把数据和逻辑拆分出来,但是对factory,service不太了解,拆分不知从何下手,接着看AngularJS基础知识;
3. 了解factory,service,provider的区别,什么时候该用哪种服务;
4. 了解AngularJS表单验证组件。
明天计划的事:
1. 继续学习AngularJS基础,
2. 开始尝试将数据和逻辑写到service中。
今天遇到的问题:
收获:
1.这段代码的意思参考下面两篇文章:
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function (data, headersGetter) {
return $.param(data);
},
http://www.cnblogs.com/whitewolf/p/3952820.html
http://www.cnblogs.com/fjptwwf/p/5761720.html
2. Input元素上使用的验证选项:
1).必填项
<input type="text" required />
2).最大最小长度
<input type="text" ng-minlength="5" />
<input type="text" ng-maxlength="20" />
3).模式匹配
<input type="text" ng-pattern="[a-zA-Z]" />匹配正则表达式
4).电子邮件
<input type="email" name="email" ng-model="user.email" />
5).数字
<input type="number" name="age" ng-model="user.age" />
6).URL
<input type="url" name="homepage" ng-model="user.facebook_url" />
7).自定义验证
自定义指令
8).在表单中控制变量
a.未修改的表单
这是一个布尔属性,用来判断用户是否修改了表单。如果未修改,值为true,如果修改过值为false;formName.inputFieldName.$pristine
b.修改过的表单
只要用户修改过表单,无论输入是否通过验证,该值都返回true;formName.inputFieldName.$dirty
c.合法的表单
这是一个布尔属性,用来判断表单的内容是否合法。如果当前表单内容是合法的,下面属性的值就是true;formName.inputFieldName.$valid
d.不合法的表单
这是一个布尔属性,用来判断表单的内容是否合法。如果当前表单内容是不合法的,下面属性的值就是true;formName.inputFieldName.$invalid
e.错误
这是AngularJS提供的另外一个非常有用的属性:$error对象。它包含当前表单的所有验证内容,以及他们是否合法的信息。用下面的语法访问这个属性:
formName.inputfieldName.$error
如果验证失败,属性的值为true,如果值为false,说明输入字段的值通过了验证。
3. factory,service,provider的区别:
1) 用 Factory 就是创建一个对象,为它添加属性,然后把这个对象返回出来。你把 service 传进 controller 之后,在 controller 里这个对象里的属性就可以通过 factory 使用了。
· 什么时候使用factory()方法
在service里面当我们仅仅需要的是一个方法和数据的集合且不需要处理复杂的逻辑的时候,一般选择factory()。
2) Service 是用"new"关键字实例化的。因此,你应该给"this"添加属性,然后 service 返回"this"。你把 service 传进 controller 之后,在controller里 "this" 上的属性就可以通过 service 来使用了。
· 什么时候适合使用service()方法
service()方法很适合使用在功能控制比较多的service里面
3) Providers 是唯一一种你可以传进 .config() 函数的 service。当你想要在 service 对象启用之前,先进行模块范围的配置,那就应该用 provider。
· 什么时候使用provider()方法
当我们希望在应用开始前对service进行配置的时候就需要使用到provider()。
评论