码迷,mamicode.com
首页 > Web开发 > 详细

angularJS问题集结

时间:2016-11-22 11:59:46      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:org   ack   apply()   更新   点击   object   amp   cti   失效   

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问题集结

标签:org   ack   apply()   更新   点击   object   amp   cti   失效   

原文地址:http://www.cnblogs.com/LHYwin/p/6088265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!