2016-01-31 84 views
3

鑑於此控制器和HTML,刷新回傳被調用,但即使有數據,表不會更新。無法解決原因。角度智能表不刷新更新

angular.module('umbraco').requires.push('smart-table'); 
app.controller('adminSection.manageUsersController', [ 
    '$scope', '$http', 'dialogService', function ($scope, $http, dialogService) { 
     var ctrl = this; 
     ctrl.members = []; 
     ctrl.safeMembers = []; 
     ctrl.fetchResults = function fetchResults(tableState) { 
      $http.post('/umbraco/backoffice/api/members/search', tableState.search.predicateObject || {codeId: null}).then(function (response) { 
       ctrl.members = response.data; 
       ctrl.safeMembers = [].concat(ctrl.members); 
       console.log(ctrl.safeMembers); 
      }, function (response) { 
       console.log(response); 
       alert("There was an error in the CODE back office app."); 
      }); 
     }; 

    } 
]); 

<div class="umb-pane" ng-controller="adminSection.manageUsersController as mc"> 
    <table st-pipe="mc.fetchResults" st-table="mc.members" st-safe-src="mc.safeMembers" class="table table-striped"> 
    <thead> 
    <tr> 
     <th st-sort="codeId">Id</th> 
     <th>Name/Job Title/Email</th> 
     <th>Access Granted</th> 
    </tr> 
    <tr> 
     <th> 
     <input st-search="codeId" placeholder="search code id"/> 
     </th> 
     <th><input st-search="name" placeholder="search name"/> (<input st-search="email" placeholder="search email"/>) of <input st-search="employer" placeholder="search employer"/></th> 
     <th></th> 
     <th></th> 
    </tr> 
    </thead> 
    <tbody > 
    <tr ng-repeat="member in mc.safeMembers"> 
     <td>{{member.codeId}}</td> 
     <td>{{member.fullname}}/{{member.employer}}/{{member.email}}</td> 
     <td>{{member.codeId}}</td> 
    </tr> 
    </tbody> 
    </table> 
</div> 

我按照這個例子:link to docs

回答

1

您的中繼器應該是在顯示的集合(即會員)

<tr ng-repeat="member in mc.members"> 

而且也沒有必要更新時,您將獲取顯示集合您的數據

 ctrl.fetchResults = function fetchResults(tableState) { 
     $http.post('/umbraco/backoffice/api/members/search', tableState.search.predicateObject || {codeId: null}).then(function (response) { 
      ctrl.safeMembers = response.data; 
     }, function (response) { 
      console.log(response); 
      alert("There was an error in the CODE back office app."); 
     }); 
    }; 
+0

mc.members在哪裏獲取其數據? 這不是怎麼樣的例子... –

+0

你給st-table的東西只是一個暴露給模板的變量名,只要表狀態改變就重新創建,你甚至不需要在你的模型中聲明它調節器 – laurent