2015-10-15 107 views
1

當後端(在我的情況下,Mysql,病人的詳細信息)的值變化與其他任何用戶(其他控制檯),我想更新另一個值頁面同時(不刷新頁面)。如何顯示頁面。我的代碼如下。Angularjs:需要雙向綁定(雙極綁定)的幫助

myscript.js

var ajaxApp=angular.module('ajaxApp',[]); 
ajaxApp.controller('ajaxController',function ajaxController($scope,$http){ 
$http.get('core/getdata.php').success(function(data){ 
    $scope.patient=data; 
}); 
}); 

我的PHP頁面

<tr ng-animate="'animate'" ng-repeat="p in patient|filter:pnametext|limitTo:10"> 
 
    <td><div class="btn btn-info">{{p.opNo}}</div></td> 
 
       <td><b><a href="getPtDetails.php?pId={{p.pId}}">{{p.pName | uppercase}}</a></b></td> 
 
       <td> 
 
       <div ng-switch on="p.pCatId"> 
 
        <div ng-switch-when="1"> 
 
        ONE 
 
        </div> 
 
        <div ng-switch-when="2"> 
 
        TWO 
 
        </div> 
 
        <div ng-switch-when="3"> 
 
        THREE 
 
        </div> 
 
       
 
       </div> 
 
       </td> 
 
       <td>{{p.pAge}}</td> 
 
       <td>{{p.pHusFather}}</td> 
 
       <td>{{p.phNumber}}</td> 
 
       <td><a href="patientQ.php?pId={{p.pId}}"><button class="btn btn-danger">Add to Queue</button></a></td> 
 
      </tr> 
 

+0

您需要經常運行AJAX調用和更新視圖。使用計時器並調用AJAX功能。 –

+0

你可以實現使用普通的可共享服務..因此,數據將通過服務在每個控制器之間共享。**或者**您可以使用事件'$ broadcast'來隱藏其他數據並將其中的數據傳遞給... ..附加到一旦事件播出,該事件將被呼叫 –

回答

3

建議使用socket.io(網絡接口)組人編輯在同一個內容同一個chanel,向他人廣播修改,並通知o人們並應用變化。 AJAX是不是真正的時間和成本更 http://socket.io/

socket.connect(xx); 
 
socket.on('change', function(data) { 
 
    alert('change happen!'); 
 
    $scope.data = data; 
 
    $scope.$apply(); 
 
}) 
 
$scope.$watch('data', function() { 
 
    if (change) { 
 
    socket.emit('change', $scope.data); 
 
    } 
 
})