文章出處

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

 

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()