本篇文章算是关于angularjs的笔记了,有时候有些问题自己以前找到方法了,但是现在又忘了,还得从新找资料查,所以,现在来弄这个算是记错本吧,都是使用的一些正确方法,现在就让我们一起来看下吧
angular.fromJson()方法是把json转化为对象或者对象数组,源码如下:
1 2 3 |
|
angular.toJson()方法是把对象或者数组转化json,源码如下:
1 2 3 |
|
angular的promise是由$q提供和构件的,$q提供了一个通过注册一个promise项目来异步执行的方法。
JS中处理异步回调总是非常麻烦,复杂:
1 2 3 4 5 6 |
|
1 2 3 4 5 6 |
|
Promise 有助于开发人员逃离深度嵌套异步回调函数的深渊。Angularjs他通过$q服务提供和构建promise。一个最完整的案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
Promise的调用:$q.when(fun()).then(successCallback, errorCallback, notifyCallback);
简写为:fun().then(successCallback, errorCallback, notifyCallback);
angularjs service封装使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
https://docs.angularjs.org/ap...$http
https://www.cnblogs.com/keatk...
$http 是angular 封装好的 XMLHttpRequest 请求,angular 的思想偏向restful概念, 方法有:GET,POST,PUT,DELTE,PATCH,HEAD等
angular 默认的请求头:
Accept: application/json, text/plain 接受json和text
Content-Type : application/json
如果要修改默认设置的话可以在app.config上做修改
1 2 3 4 5 6 7 |
|
只要是default的headers,在每次发送请求的时候都会带上。所以如果我们每个请求都有用到一些自定义的header,我们也可以写入在default.headers中。$httpProvider.defaults.headers.common["myHeader"] = "myheaderValue";//common 表示不管任何的 method POST,GET,PUT等
这些default的header是可以在每一次我们发请求的时候通过参数来覆盖掉.另外$http service 也提供了一个defaults的指针 (注: $httpProvider.defaults === $http.defaults )
$httpProvider.defaults.transformRequest & transformResponse
这是angular提供给我们的2个接口,在请求发送前和响应还没有触发callback前对post data 和 response data做一些处理它们是个数组类型,我们可以push一些函数进去 (angular默认对request和response都放入了一个方法,post的时候如果data是对象将json化,响应时如果data是json类型,将解析成对象)。在每一次的请求,我们依然可以覆盖整个数组。(想看更多就到PHP中文网AngularJS开发手册中学习)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
$httpProvider.defaults.cache。angular 默认cahce = false, 一样可以通过defaults去设置每个请求。我们也可以在每次请求覆盖设置。当同时发送2个没有缓存的请求时,angular也能处理,只发送一次。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
$httpProvider.interceptors
(interceptors 中文是拦截的意思)。除了之前介绍过的 transform 可以对数据做一些处理, angular也提供了另外4个时刻,分别是 onRequest, onRequestFail, onResponse, onResponseFail。让我们做一些而外处理. 比如当我们server返回500的时候,可能我们想做一个通用的alert,或是request fail 的话自动调整一下config在尝试请求等等.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
transform 的执行次序是这样的 interceptors.request -> transformRequest -> transformResponse -> interceptors.response
判断视图是否渲染完成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
Salin selepas log masuk
好了,本篇文章到这就结束了(想看更多就到PHP中文网AngularJS使用手册中学习),有问题的可以在下方留言提问。
Atas ialah kandungan terperinci angularjs如何判断渲染是否完成?$httpprovider服务又有哪些情况?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
-
2018-09-11 16:45:17
-
2018-09-11 16:39:07
-
2018-09-11 16:29:40
-
2018-09-11 16:10:13
-
2018-09-11 16:05:55
-
2018-09-11 16:01:50
-
2018-09-11 15:55:13
-
2018-09-11 15:50:18
-
2018-09-11 15:43:40
-
2018-09-11 15:34:44
Isu terkini
Front-end - WebStrom memasang pemalam angularjs, tetapi tiada gesaan sintaks
daripada 1970-01-01 08:00:00
0
0
0
Topik-topik yang berkaitan
Lagi>
-
arahan git
-
Apakah masalah dengan menggunakan php
-
Perbezaan antara penghala dan kucing
-
Di manakah antara muka audio terletak pada papan induk?
-
Perbezaan dan hubungan antara bahasa c dan c++
-
Pengenalan kepada kandungan kerja utama jurutera hadapan
-
Cara membaiki lsp
-
Amaran Panggilan Pusat Anti Penipuan Kebangsaan