我有一个用AngularJS编写的两页Web应用程序,每次显示页面时都应从数据库中获取新数据。
在我刚刚加载页面后,它完全正常。数据在第A页上正确显示。当我切换到最初未显示的页面B时,它也可以正常工作。但是当我切换回页面A时,没有显示任何数据。我调试了每次应该清空和重新填充的数组,我看到旧数据仍然存在,新数据(与旧数据相同)被添加到此数组中。
以下是我的代码的简化版本:
查看:
<table>
<tr ng-repeat="data in mydata">
<td>
<a href="{{data.link}}">{{data.linkname}}</a>
</td>
</tr>
</table>
控制器:
angular.module('myApp').controller('MainCtrl', ['$scope', function($scope) {
$scope.mydata = [];
//send request for data to the database...
//listener for the incoming data is the following function:
var listener = function(message){
$scope.mydata.push(message); //message has the expected format
$scope.$apply(); //just for sure
};
}]);