Angularjs

表单验证:https://www.w3xue.com/jsjq/angularjs/angularjs-validation.html

https://www.cnblogs.com/zml-java/p/5644260.html

表单验证后回调:https://blog.csdn.net/dengboz0910/article/details/53082772

factory vs service vs provider:https://www.oschina.net/translate/angularjs-factory-vs-service-vs-provider

select控件:https://m.runoob.com/angularjs/angularjs-select.html

$q和promise:https://www.cnblogs.com/xing901022/p/4928147.html

自己理解:

1、什么时候需要用promise?

当服务提供方想要自己提供的服务在执行成功后/失败后/值变化以后触发服务调用方相应的回调函数时,使用之。

2、使用方法

由服务提供方在服务方法的逻辑中使用$q.deffer()创建一个deffer对象。在服务逻辑执行成功/失败/关键值改变以后分别调用deffer的resolve(value)/reject(data)/notify(data)方法,并在服务逻辑的最后使用deffer.promise()方法返回promise对象。服务调用方调用了服务方法以后直接.then(),then方法里可以传三个回调函数,这三个回调函数分别在deffer的resolve(value)/reject(data)/notify(data)方法执行后自动被调用。第二个回调函数也会在resolve执行失败以后调用。

3、补充

3.1 deffer的三个方法可以单独使用,then方法也不一定必须传三个回调函数,也可以传一个或者两个回调函数,then方法返回promise对象,所以可以连续.then()。

3.2 promise还有两个方法catch()和finally()。

3.3 deffer的所谓关键值改变notify方法其实就是方便开发人员灵活应用的一种回调场景。只要你打算在编写的服务代码的某处触发调用者的回调函数,就使用notify,当然,其实resolve和reject也是可以灵活使用。

4、deffer只是$q的一种功用。

Angularjs里的定时器和循环执行:

https://www.cnblogs.com/moli-/p/5827618.html

定时器的销毁:https://blog.csdn.net/liwusen/article/details/52138882

如何在主页面和ngdialog之间传递参数?

https://segmentfault.com/q/1010000007149580

1、必须做的步骤:ngDialog的scope:$scope

2、如何向主页面的$scope赋值:在ngDialog的controller中,使用$scope.$parent即等价于主页面中的$scope

3、如何从主页面的$scope中取值?直接使用主页面中$scope的变量即可。

参考资料:https://github.com/likeastore/ngDialog

使用$watch监听对象的改变:

http://www.zymseo.com/386.html

https://www.cnblogs.com/yg_zhang/p/4799369.html

$scope.$watch('targetObj', function(n, o){
XXXXXX
}, true);

n代表新值,o代表老值,如果被监听的是一个对象,则第三个参数必须带,且是true。

id问题:

$apply的使用:

$http在post时,参数params和data有何区别?以及其他参数的学习:

Angularjs 学习笔记的更多相关文章

  1. AngularJs学习笔记--Forms

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...

  2. AngularJs学习笔记--expression

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/expression 表达式(Expressions)是类Javascript的代码片段,通常放置在绑定 ...

  3. AngularJs学习笔记--directive

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/directive Directive是教HTML玩一些新把戏的途径.在DOM编译期间,directiv ...

  4. AngularJs学习笔记--Guide教程系列文章索引

    在很久很久以前,一位前辈向我推荐AngularJs.但当时我没有好好学习,仅仅是讲文档浏览了一次.后来觉醒了……于是下定决心好好理解这系列的文档,并意译出来(英文水平不足……不能说是翻译,有些实在是看 ...

  5. AngularJs学习笔记--bootstrap

    AngularJs学习笔记系列第一篇,希望我可以坚持写下去.本文内容主要来自 http://docs.angularjs.org/guide/ 文档的内容,但也加入些许自己的理解与尝试结果. 一.总括 ...

  6. AngularJs学习笔记--html compiler

    原文再续,书接上回...依旧参考http://code.angularjs.org/1.0.2/docs/guide/compiler 一.总括 Angular的HTML compiler允许开发者自 ...

  7. AngularJs学习笔记--concepts(概念)

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...

  8. AngularJS学习笔记2——AngularJS的初始化

    本文主要介绍AngularJS的自动初始化以及在必要的适合如何手动初始化. Angular <script> Tag 下面通过一小段代码来介绍推荐的自动初始化过程: <!doctyp ...

  9. AngularJs学习笔记--Using $location

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/dev_guide.services.$location 一.What does it do? $loc ...

  10. AngularJs学习笔记--unit-testing

    原版地址:http://docs.angularjs.org/guide/dev_guide.unit-testing javascript是一门动态类型语言,这给她带来了很强的表现能力,但同时也使编 ...

随机推荐

  1. 【学习笔记】python2的print和python3的print()

    python2.x和3.x中的输出语句有着明显不同 2.x中的print不是个函数,输出格式如下 Python 2.7.12+ (default, Aug 4 2016, 20:04:34) [GCC ...

  2. python系统编程(六)

    threading注意点 1. 线程执行代码的封装 通过上一小节,能够看出,通过使用threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会 ...

  3. bzoj1051: [HAOI2006]受欢迎的牛(tarjan板子)

    1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6064  Solved: 3179[Submit][Sta ...

  4. Java中Date, Calendar, SimpleDateFormat的相互转换

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  5. 学习Struts--Chap01:了解Struts2

    学习之前的一些话: 这是我系统学习Java知识这么久以来第一次接触web框架,很不幸的是刚开始学习它就听到很多人说这个框架现在已经过时了,很多企业现在开发项目几乎不会用这个框架了,就是有用这个框架的项 ...

  6. Docker 常用命令(二)

    4. 查看Docker镜像创建历史: docker history flaskhello 3. Docker提交镜像 docker build -t flaskhello . docker run - ...

  7. Java入门学习笔记

    Hello.java public class Hello { public static void main(String[] args) { System.out.println("He ...

  8. springmvc中select可以绑定enum中所有数据的方法

    public enum States { AK("AK"), AL("AL"), AR("AR"), AZ("AZ"), ...

  9. Siamese网络

    1.       对比损失函数(Contrastive Loss function) 孪生架构的目的不是对输入图像进行分类,而是区分它们.因此,分类损失函数(如交叉熵)不是最合适的选择,这种架构更适合 ...

  10. 经纬度编码方法推荐-plus code简介

    今天罗孚为大家推荐一种经纬度编码的方法--plus code,原名open location code,是Google于2014年发明的,旨在将表示地理位置的经纬度通过算法推导成一个字符串. plus ...