angularJS问题集结

Posted 学以致用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 





以上是关于angularJS问题集结的主要内容,如果未能解决你的问题,请参考以下文章

从 AngularJS url 中删除片段标识符(# 符号)

初入AngularJS基础门

AngularJS ——ngResourceRESTful APIs 使用

浅谈AngularJS中的$parse和$eval

AngularJS

Esri和IBM通过“代码集结号”全球挑战赛携手应对气候变化