将javascript函数结果传递给Angular ng-table

时间:2014-06-26 04:19:33

标签: javascript json angularjs

我有Angular ng-table,我将Json数据加载到$ data变量并显示在表中。

function ngTable(){
var app = angular.module('main', ['ngTable']).
controller('DemoCtrl', function($scope, ngTableParams) {
    var data = [{name: "Moroni", age: 50},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34}];

    $scope.tableParams = new ngTableParams({
        page: 1,            // show first page
        count: 10           // count per page
    }, {
        total: data.length, // length of data
        getData: function($defer, params) {
            $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
        }
    });
});
}

此外,我还有Java Script函数返回其他一些Json数据 - 按下单击按钮调用函数。

function ReturnJson() {
 var json = []; 
 $('body').on('click','button#test', function(){
   var id = $(this).attr("value").val();
   json = id;
  });
 return json;
}

每次按钮点击操作时,如何用ReturnJson()替换var数据内容?

1 个答案:

答案 0 :(得分:0)

简单分配可行,但请记住重新加载网格:

$scope.loadData = function () {
  $scope.data = $scope.ReturnJson();
  $scope.tableParams.reload();
}

$scope.ReturnJson = function () {
  var json = [{name: "bb", age: 200},{name: "aaa", age: 100}];
  return json;
}

这是一个有效的演示:http://plnkr.co/edit/Jw41uCmHGAfjkuoLIQor?p=preview