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. GDOI2017爆炸记

    100种方法教你爆零.. 总结 其实这一次比赛除了三个sb的错误还是收获到了很多的.. 起码自己已经知道自己有进队的实力 不足的地方很大 主要是脑子不太好使,题目要不只能拿最暴力的分要不就能a 看了很 ...

  2. Python并发编程-线程

    Python作为一种解释型语言,由于使用了全局解释锁(GIL)的原因,其代码不能同时在多核CPU上并发的运行.这也导致在Python中使用多线程编程并不能实现并发,我们得使用其他的方法在Python中 ...

  3. 下拉框 tree 基于 EasyUi

    public string DataTableToJson() { string dataJson = ""; string temp = ""; string ...

  4. xml 初步学习 读取

    引入xml文件    function loadXMLDoc(dname) {         if (window.XMLHttpRequest) {             xhttp = new ...

  5. Hadoop2.2.0集群的HA高可靠的最简单配置

    HA集群需要使用nameservice ID区分一个HDFS集群.另外,HA中还要使用一个词,叫做NameNode ID.同一个集群中的不同NameNode,使用不同的NameNode ID区分.为了 ...

  6. MySQL解压版的安装与配置

    1.解压mysql-5.7.15-winx64.zip到D:\MySQL Server 5.7(你想安装的位置) 2.如果机器上安装过其他版本的mysql先删除环境变量PATH中的mysql路径,然后 ...

  7. Charles抓包(未完待续)

    Charles是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析. Charles 通过将自己设置成系统的网络访问代理服务器,使得 ...

  8. es6学习笔记二:生成器 Generators

    今天这篇文章让我感到非常的兴奋,接下来我们将一起领略ES6中最具魔力的特性. 为什么说是“最具魔力的”?对于初学者来说,此特性与JS之前已有的特性截然不同,可能会觉得有点晦涩难懂.但是,从某种意义上来 ...

  9. 几个例子弄懂JS 的setTimeout的运行方式

                        function test() {   var a = 1;   setTimeout(function() {     alert(a);     a = 5 ...

  10. 如何给webbrowser指定IE版本

    void Button1Click(object sender, EventArgs e)     {         RegistryKey rk = Registry.LocalMachine; ...