0

我对 AngularJs 非常陌生,并试图将 Smart-Table 插件“包装”在指令中。我可以得到行但没有显示分页

目前这就是我所做的。

    app.directive('grid', [ function () {
    return {
        restrict: 'E',
        replace: true,
        template: function (element, attrs) {
            return '<table class="table table-striped">'
                          + '<thead>'
                          + '    <tr>'
                                  + '<th st-ratio="20" st-sort="Team">Team</th>'
                                  + '<th st-ratio="20" st-sort="TeamFreq">Team Freq</th>'
                                  + '<th st-ratio="10" st-sort="TeamSac">Team Sac</th>'
                                  + '<th st-ratio="30" st-sort="Priority">Priority</th>'
                              + '</tr>'
                          + '</thead>'
                          + '<tbody>'
                              + '<tr ng-repeat="row in dataset">'
                                 + ' <td>{{row.firstName}}</td>'
                                  + '<td>{{row.lastName | uppercase}}</td>'
                                  + '<td>{{row.age}}</td>'
                                  + '<td>{{row.email}}</td>'
                              + '</tr>'
                          + '</tbody>'
                          + '<tfoot>'
                              + '<tr>'
                                 + '<td colspan="4" class="text-center">'
                                  + '<div class="pagination pagination-xs m-top-none pull-right"  st-pagination="1" st-items-by-page="itemsByPage" st-displayed-pages="4"></div>'
                                  + '</td>'
                              + '</tr>'
                          + '</tfoot>'
                      + '</table>';

        },
        scope: {

        },
        controller: function ($scope) {

        },
        link: function (scope, elem, attrs) {
            var nameList = ['Pierre', 'Pol', 'Jacques', 'Robert', 'Elisa'], familyName = ['Dupont', 'Germain', 'Delcourt', 'bjip', 'Menez'];
            function createRandomItem() {
                var
                    firstName = nameList[Math.floor(Math.random() * 4)],
                    lastName = familyName[Math.floor(Math.random() * 4)],
                    age = Math.floor(Math.random() * 100),
                    email = firstName + lastName + '@@whatever.com',
                    balance = Math.random() * 3000;

                return {
                    firstName: firstName,
                    lastName: lastName,
                    age: age,
                    email: email,
                    balance: balance
                };
            }

            scope.rowCollection = [];
            for (var j = 0; j < 10; j++) {
                scope.rowCollection.push(createRandomItem());
            }
            scope.dataset = [].concat(scope.rowCollection);
        }
    };
}]);

我的 html 包含这个标签

  <grid st-table="dataset"></grid>

这段代码只是一个测试,数据将使用服务传递......并且模板将是动态的。我需要一些帮助 :-)

谢谢

4

2 回答 2

1

前几天我在指令中使用 smart-table 时无法显示分页。原来它与指令无关,我只是从 GitHub 拉取/更新到最新版本的 smart-table 并且一切正常。我开始查看发生了什么变化,但被忽略了,然后转向了更有成效的事情,很高兴它现在正在工作。我拥有的似乎工作正常的版本被标记为 1.4.2。

但是,对于来自服务的动态数据,我认为您还需要查看 st-safe-src 属性。尽管我对整个 Angular / smart-table 业务也是新手。

于 2014-10-29T08:50:31.497 回答
0

我相信您必须匹配 st-table 值和 st-pagination 值才能显示分页。

于 2015-02-01T05:58:26.087 回答