0
我需要填充的角度表接收到來自WebSocket的數據時角表:我試着用:重裝當新的數據接收
<div ng-controller="MyCtrl" ng-app="myapp">
<table ng-table="commentsTable">
<tr ng-repeat="item in obj track by $index">
<td class="plantCell">{{item.nome}}: </td>
<td class="statusCell">{{item.status}}</td>
<td class="statusCell">{{item.testo}}</td>
</tr>
</table>
</div>
<script>
var app=angular.module('myapp', []);
var printOperation;
function GetFromLocalStorage(key) {
var items=localStorage.getItem(key);
console.log(items);
if (items===null){
console.log("item null");
return null;
} else {
if (typeof items!= "string") {items = JSON.stringify(items);}
return items;
}
}
app.controller('MyCtrl',
function ($scope) {
$scope.printComments=function(){
$scope.obj=GetFromLocalStorage("AllComments");
console.log("ricevo evento e ricarico tabella");
console.log($scope.obj);
//$scope.commentsTable.reload();
}
console.log("assegno print operation");
printOperation=$scope.printComments;
}
);
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent,function(e) {
console.log("ricevo messaggio");
printOperation();
},false);
<script>
Uncaught TypeError: Cannot read property 'reload' of undefined at $scope.printComments ((index):68) at (index):80
如何重新加載? angular.module(「myapp」,[「ngTable」])。reload();產生相同的錯誤。 Moeover我在模塊裏面,我不需要引用它。此外,我需要在每次收到新推送時更新它。 –
你需要在這行注入'var app = angular.module('myapp',['ngTable']);'。但是你真的使用['ngTable'](http://ng-table.com)?由於您還需要向控制器中注入['NgTableParams'](http://ng-table.com/api-docs/classes/ngtableparams.html),並正確初始化它們以與'ng-table'一起使用指示。或者你想簡單地使用'ng-repeat'呈現表格?你爲什麼需要在某個地方調用'reload()'?只需更新'$ scope.obj'即可。 –
不幸的是,如果我在表格呈現爲空時更新obj,數據到達時不顯示任何內容。每次服務器通過websocket提交更新的數據時,我都需要更新表格。也許如果我在第一次完成時動態地創建表格,但是當我需要再次更新表格時,我回到了開頭。 –