0

我是 angular.js 的新手。我想创建基本网格来学习 angular.js。我用 angular.js 创建了一个博客应用程序,但我想了解更多。我开始开发网格应用程序。这个网格将动态地进行 crud 操作。我在 html 端写这个;

< bar-table 
bar-list-action="'/json/customers.htm'" 
bar-delete-action="'/api/DeleteCustomer'" 
bar-update-action="'/api/UpdateCustomer'" / >

和js端;

barbarapp.directive("barTable", function ($http) {
    return {
        restrict: 'E',
        templateUrl: '/templates/customers.html',
        scope: {
            barSource: '=',
            barListAction: '=',
            barDeleteAction: '=',
            barUpdateAction: '=',
            barTemplateUrl: '='
        },
        link: function (scope, element, attr) {
            var listAction = scope.barListAction;
            $http.get(listAction)
                .success(function (response) {
                    scope.rows = response.records;
                });

            scope.deleteAction = function (row) {
                //scope.barDeleteAction

            };
            scope.updateAction = function () {
                //scope.barUpdateAction
            };
        }
    };
});

和模板;

< table class="table table-hover">
    < tr ng-repeat="row in rows" >
        < td >{{row.Id}}< /td >
        < td >{{row.Name}} < /td >
        < td >
            < input type="button" value="Sil" ng-click="deleteAction(row)" class="btn btn-danger" >
        </ td >
        < td >
            < input type="button" value="Güncelle" ng-click="updateAction(row)" class="btn btn-warning" >
        < /td >
    < /tr>
< /table >

我的点子; 用户在 html 中定义列定义,或者如果用户取消定义列定义,我的应用程序。动态创建列。但我不知道该怎么做。请向我展示用户定义列或动态创建列的方式。ps:对不起我的英语不好。

4

1 回答 1

0

您可能还希望columns在您的范围内有一个数组,它列出了行对象中使用的属性的名称。您可以通过要求用户将其指定为指令的参数或使用for..in循环之类的东西从行中的一个行对象中获取它来填充此列数组(另请参阅如何获取 Javascript 对象的所有属性值(不知道键)?获取对象所有属性的其他方法)。当你有这个时,你可以做类似的事情

<tr ng-repeat="row in rows">
    <td ng-repeat="col in columns">
        {{row[col]}}
    </td>
    <!-- other td's for deleting etc. -->
</tr>

让用户指定列数组可能更合适,因为它允许他们只选择一些列并指定顺序。

于 2013-09-18T21:45:07.413 回答