AngularJS常见问题答疑
来源:互联网 发布:js this用法 编辑:程序博客网 时间:2024/06/06 13:17
AngularJS是动感的JS框架,使用它可以使你的代码变得简单,特别是大型的WebApp,因为你不在去手动的去更新你的UI,你只需要关心你的数据和你应用的状态即可。
下面是一些简单而常用的AngularJS中遇到的一些问题,仅供大家参考:
1s钟回顾
问题分享
明明改变了数据为什么没有更新?
这种问题可能多半时没有进入AngularJS自己的Context中去,导致无法对视图进行更新,这个时候你可能要手动进行更新
这个你可以尝试使用$apply或者$digest,但也不要过度滥用$digest,每次调用毕竟是要消耗很多的资源的
但有时候调用了会遇到如下的报错:
不要着急,在手动调用$digest的时候,使用如下的封装可以做到万无一失
var
updateUI =
function
(){
if
(! $scope.$$phase){
$scope.$digest();
}
};
var
updateRootUI =
function
(){
if
(! $rootScope.$$phase){
$rootScope.$digest();
}
};
提交的数据多了那么多$$hashKey怎么办
如下的数据
原因是因为$$hashKey是AngularJS为了做DirtyCheck加的haskKey,解决这个办法也很简单,请使用angular.toJson发放代替JSON.stringify序列化数据
页面加载为什么会有那么多404?
这个多半是模板里面直接使用了src,请使用ng-src替代src,这里提一下,sodaRender里请使用soda-src
多层循环嵌套$index重复怎么办?
请使用track by 语法(sodaRender也支持)
Directive如何使用ng-model?
自己封装的Directive,想像ng-model一样好用怎么办?
请使用directive中的require配置项,将ng-model Directive引进来,并在合适的时间调用setViewValue方法
ng-model不能满足我怎么办
有些时候,ng-model并不能满足所有的场景需求,这个时候可以考虑使用set、get方法做一层拦截,这样就可以更好的控制数据绑定,如下
然而在1.3+的版本中,angularJS似乎也意识到了ng-model的这一点,所以它开放了API允许我们进行拦截
只不过,AngularJS讲set和get方法合二为一,这一点也是比较巧妙的。
- AngularJS常见问题答疑
- Oracle 数据库常见问题答疑
- ajax常见问题答疑
- HBase常见问题答疑解惑
- 答疑java初学者常见问题
- IIS6架设网站常见问题及症状答疑
- VERYCMS3.0应用常见问题及答疑
- TimesTen 常见问题答疑(科普篇)
- angularJS常见问题汇总
- 答疑
- IIS6架设网站常见问题及症状举例答疑(转载)
- IIS6架设网站常见问题及症状举例答疑
- IIS6架设网站常见问题及症状举例答疑
- RPM软件包使用常见问题 ----------- { rpm 使用 答疑 FAQ (Linux) }
- IIS6架设网站常见问题及症状举例答疑
- IIS6架设网站常见问题及症状举例答疑
- angularjs开发常见问题-2(angularjs内置过滤器)
- Kendo UI和AngularJS常见问题解析
- 图书管理系统 C语言
- Java操作FTP(2)
- 在iPhone上展示哈夫曼二叉树
- Deep Neural Network
- 使用Get方法传参到Action中,出现中文乱码的问题
- AngularJS常见问题答疑
- iOS 自定义播放器
- Java进阶04 RTTI
- Exynos4412裸机开发——中断处理
- android简单实例--------普通菜单optionMenu,上下文菜单ContextMenu,弹出式菜单的使用PopuMenu(三)
- python2.7实现备份
- 【SPOJ-GSS1】Can you answer these queries I【线段树】【最大子段和】
- String.Format 方法的几种定义
- 几分钟内学习 Clojure