angularJS问题集结
1、用ng-repeat循环输出遇到很奇怪的问题 :
Error: [ngRepeat:dupes] http://errors.angularjs.org/1.4.6/ngRepeat/dupes?p0=x%20in%20result&p1=stri…83%EF%BC%8C%E7%BB%93%E6%9E%9C%E6%98%AF%EF%BC%9A%E4%BD%A0%E8%BE%93%E4%BA%86
at angular.min.js:6
at angular.min.js:279
at Object.fn (angular.min.js:129)
at n.$digest (angular.min.js:130)
at n.$apply (angular.min.js:133)
at HTMLInputElement.<anonymous> (angular.min.js:253)
at HTMLInputElement.c (angular.min.js:35)
意思是指ng-repeat不能有重复数据:解决办法:ng-repeat="keys in newlist track by $index",加track by $index,也可以 trace by 任何一个普通的值,只要能唯一性标识数组中的每一项即可
2、数据双向绑定失效,就是明明在controller里面给$scope.×××赋值了,在页面上xxx愣是显示不了,但是点击一下输入框或是form表单的提交按钮,xxx数据信息就显示了。
解决办法:添加 $scope.$apply();
$scope.$apply(function(){
$scope.xxx = “你赋的值”;
});
一般情况下是不需要我们手动添加这一句代码的,因为angularJS本身在需要的时候调用,以达到我们所看到的数据双向绑定的效果。
但是你若是引用一个外部插件或者其他,在回调函数里创建或更新$scope.xxx的数据,因为外部插件本身已经脱离了angularJS的作用域,所以数据双向绑定在这里没有效果,只能手动添加$scope.$apply()来通知页面获取数据。
参考网址:http://www.bdqn.cn/news/201409/15295.shtml