AngularJS 杂项知识点

1、要用ngChange要同时使用ngModel,下拉选择获取当前选中值。

2、打包代替动态加载(js文件)

  requirejs真正的价值在于模块化,不是动态加载,angularjs本身有模块化机制,而且还支持依赖注入,对于angularjs来说requirejs并不是必须的。

  把所有javascript文件连接成一个文件,然后进行最小化、混淆,最终部署时候开启gzip,这样可以javascript文件的下载大小进一步压缩到原来的1/3。

  但是一些第三方库很大,确实需要动态加载,进行局部动态加载,如highchart插件,可以定义个highchart指令当它首次被使用时候才动态加载highchart.js,加载完毕后再调用其中的函数,可以加快启动速度,而且可以让代码尽可能简化。

3、Angular-hint

  帮助我们写出更好的AngularJS代码,并让我们更容易定位angularjs常见错误问题。

4、$timeout妙用

  为了防止界面停止响应而将一些费时的任务延后处理(javascript单线程),或者等一些DOM元素出现后处理。window.setInterval也内置了$interval。$timeout实现了$scope.apply功能,而window.setTimeout没有实现$scope.apply。

5、用非angularjs 属性如<img src="{{api.root}}/chapcha.jpg" > ,页面开始加载的时候,angularjs还没有机会执行,{{}}}绑定的表达式还没有机会求值,直接当字符串,会出现404错误;而用ng-src这种angularjs指令,会在angular启动后才会执行,所以能得到正确的值。

原文地址:https://www.cnblogs.com/shawnhu/p/8523369.html