javascript代码实例教程-JavaScript开发教程之angularjs总结

发布时间:2018-12-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-JavaScript开发教程之angularjs总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

摸了三个月的Angularjs,觉得有必要总结下它的一些关键点,有人说拿他试试水会发现它的强大,深入学习会遇到一些问题,可能是在加载优化方面的问题吧,毕竟一个项目庞大起来,所有的内容寄托于一个模块,所有的控制器都会被先加载,故有使用require.js来按需加载。个人认为数据交互、路由和http是我比较关心的内容.

数据的交互,在表单上表现的尤为明显,表单的验证也是我喜欢的,可以省了很多事,期初我还没发现这个好处,因为一些数据难以分出来出现在表单上面,我通过js 获取在赋给表单,所以抛弃了angularjs的表单,它对与数据改变,是有它自己的监听机制:JavaScript开发教程之angularjs总结

它的内置的事件指令会默认引起$apply调用$digest,如果不是它自身的,不会引起$apply,故一些事件需要$apply来启动它的检查,比如settimeout ,上图就是为什么页面数据改动,控制器里的数据就会变化,每个视图的数据都安排了个watcher.这就是关键的地方。

对于路由本来是很简单的事情,先把所有的路由配置好,就可以了,路由传参数,在控制器里接收就是了,但是它是单视图的,不能发展子视图,故有了ui-route.js帮助我们布局多个插入入点,我的处理是,页面里延生页面,就把它抛出,定义到外面跟它的父亲视图一个等级,在插入到ng-view里,也是看别人写的,也用这种方式,只要路由定在外面,就跟其他页面一样的展现,相比angular2,它的路由就逊色了,ng2多了个路由守卫,这样就可以处理很多权限的问题了。目前我还没遇到1.x这方面的文章,可能接触的少吧。

对于http,主要说的是数据的保存,这也是我一直困扰的,因为异步的加载,并不能保证数据得到,这样就不能全局去使用数据了,$q服务的使用可以保证异步的执行,我也尝试的写了下,发现按刷新就没数据了,可能我研究不够吧,在服务里保存,在全局作用域里保存,都会出现这个问题。

我还发现了一个好东西http的拦截器 可以实现登入权限的验证:

通过实现 request 方法拦截请求: 该方法会在 $http 发送请求道后台之前执行,因此你可以修改配置或做其他的操作。该方法接收请求配置对象(request configuration object)作为参数,然后必须返回配置对象或者 promise 。如果返回无效的配置对象或者 PRomise 则会被拒绝,导致 $http 调用失败。
通过实现 response 方法拦截响应: 该方法会在 $http 接收到从后台过来的响应之后执行,因此你可以修改响应或做其他操作。该方法接收响应对象(response object)作为参数,然后必须返回响应对象或者 promise。响应对象包括了请求配置(request configuration),头(headers),状态(status)和从后台过来的数据(data)。如果返回无效的响应对象或者 promise 会被拒绝,导致 $http 调用失败。
通过实现 requestError 方法拦截请求异常: 有时候一个请求发送失败或者被拦截器拒绝了。请求异常拦截器会俘获那些被上一个请求拦截器中断的请求。它可以用来恢复请求或者有时可以用来撤销请求之前所做的配置,比如说关闭进度条,激活按钮和输入框什么之类的。
通过实现 responseError 方法拦截响应异常: 有时候我们后台调用失败了。也有可能它被一个请求拦截器拒绝了,或者被上一个响应拦截器中断了。在这种情况下,响应异常拦截器可以帮助我们恢复后台调用。

关键还是讲下,数据的继承吧,父到子,子到父,全局作用域,

一:单例服务

service factory 等

二:广播与事件、消息机制

$broadcast() ,$emIT,$on()

三:子直接获取父的数据

四:watch

这个好,也是上面说的可以监控数据,在实现分页是不错的,可以全局监控。

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-JavaScript开发教程之angularjs总结全部内容,希望文章能够帮你解决javascript代码实例教程-JavaScript开发教程之angularjs总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。