【问题标题】:Passing java script function result to Angular ng-table将javascript函数结果传递给Angular ng-table
【发布时间】:2014-06-26 04:19:32
【问题描述】:

我有 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()));
        }
    });
});
}

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

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

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

【问题讨论】:

    标签: javascript json angularjs


    【解决方案1】:

    简单的分配也可以,但记得重新加载网格:

    $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

    【讨论】:

    • 我不确定如何利用您的解决方案,因为我的 java 脚本函数是在 Jquery onclick 事件上调用的,并且里面有一些 ajax 请求......但对于建设性的响应肯定是 +1 .
    • 我建议你使用 Angular 的 ng-click 来调用函数。 Angular 有用于 ajax 的 $http。不混合 angular 和 jquery 真的更容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2021-12-27
    相关资源
    最近更新 更多