php - 使用angularjs和 php ( 后端)的可以更新网格

  显示原文与译文双语对照的内容
0 0

我必须创建一个可以更新的网格像这样。

enter image description here

用户将编辑这里网格,并且更新的信息将被异步保存到数据库。 由于多个用户在同一网格中工作,当其他用户更新某个特定列时,更改应反映给所有用户。

我是AngularJs新手。 如何在php中使用带有后端的angularjs实现这个功能。

时间: 原作者:

0 0

你的问题似乎比使用AngularJS更新网格要大,因此需要考虑以下几点:

多个用户的通信

你可能希望使用来跨多个客户机提供实时通信。 在php端,你可以使用类似棘轮的东西,提供 web sockets,并在客户端使用angular-web socket组件与客户端交互。 客户端部分看起来像


WebSocket.onmessage(function(event) {
//update the state
});

如果太多,你可以通过使用ajax来从服务器轮询网格状态,并提供伪实时通信。 这看起来像


$interval($http.get('your url').success(function(result) {
//update the state
}), 30 * 1000)//polls every 30 seconds

但是,我真的建议你深入到 web sockets中- 他们是你想要的。

网格本身

使用WebSockets或者ajax轮询更新状态后,你可以拥有一个完全灵活的2d 网格,如下所示:


//the controller
.controller('GridCtrl', function($scope, WebSocket) {
 WebSocket.onmessage(function(event) {
 $scope.grid = event.data;
 });
 $scope.updateGrid = function() {
 WebSocket.send($scope.grid);
 });
})


<!-- the template -->
<form ng-submit="updateGrid()">
 <div class="row" ng-repeat="row in grid">
 <div class="col" ng-repeat="col in row">
 <input ng-model="col">
 </div>
 </div>
</form>

原作者:
...