ng-table & yeoman - сортировка отлично работает в разработке, но не работает

0

Это, наверное, что-то глупое, но я просто не могу понять.

Я использую:

Когда я запускаю "grunt serve" во время разработки, таблица работает отлично. Но когда я запускаю "grunt" и использую папку dist, столбцы больше не сортируются. Кажется, класс "sortable" не применяется к ячейкам заголовка в производственной версии, тогда как он находится в разработке.

Любая помощь будет оценена по достоинству.

контроллер:

angular.module('couponWebApp').controller('MainCtrl', ['NgTableParams', 'couponService',

    function(NgTableParams, couponService) {

        var PAGE_SIZE = 10;
        var lastPage = 2;
        var lastPageDiscovered = false;
        var self = this;

        self.tableParams = new NgTableParams({}, {
            counts: [], // we don't want to display other page count options
            getData: function(params) {
                var currentdata = params.data;
                return couponService.getAllBatches(PAGE_SIZE, params.page()).then(function(payload) {
                    if (payload.length < 1) { // no data for this page
                        lastPageDiscovered = true;
                        lastPage = params.page() - 1;
                        params.total(params.page() - 1);
                        return currentdata;
                    } else if (payload.length < PAGE_SIZE) { // payload is smaller than page size
                        lastPage = params.page();
                        lastPageDiscovered = true;
                        params.total(lastPage);
                        return payload;
                    } else { // payload is equal to the page size
                        lastPage = (lastPageDiscovered ? lastPage : params.page() + 1);
                        params.total(lastPage);
                        return payload;
                    }
                }, function() {
                    // error
                });
            }
        });
    }
]);

Посмотреть:

<table ng-table="main.tableParams" class="table table-striped" show-filter="false">
    <tbody>
    <tr ng-repeat="item in $data">
      <td data-title="'Name'" sortable="'name'">
        {{item.name}}
      </td>
      <td data-title="'Created'" sortable="'createDate'">
        {{item.createDate | date: 'dd MMMM YYYY'}}
      </td>
      <td title="'Expiry Date'"sortable="'expiryDate'">
        {{item.expiryDate | date: 'short'}}
      </td>
      <td title="'Created'" filter="{ vouchersCreated: 'number'}">
        {{item.vouchersCreated}}
      </td>
    </tr>
    </tbody>
  </table>
</div>
Теги:
ngtable
yeoman
yeoman-generator-angular

1 ответ

4
Лучший ответ

Это может быть полезно. Это может быть много причин для отказа. Поскольку я не являюсь точной причиной. Я даю исправление для наиболее распространенной проблемы.
Измените collapseBooleanAttributes на false в задаче "htmlmin" в файле Grunt. Конфигурация будет выглядеть примерно так.

htmlmin: {
      dist: {
        options: {
          collapseWhitespace: true,
          collapseBooleanAttributes: false,
          removeCommentsFromCDATA: true,
          removeOptionalTags: true
        },
        files: [{
          expand: true,
          cwd: '<%= yeoman.dist %>',
          src: ['*.html', 'views/{,*/}*.html', 'app_components/{,**/}*.html'],
          dest: '<%= yeoman.dist %>'
        }]
      }
    }
  • 0
    Спасибо МИЛЛИОН, это, кажется, исправило это! :) Я очень ценю вашу помощь. Не могли бы вы объяснить, что делает это изменение? Я также буду читать о htmlmin, чтобы узнать больше. Еще раз спасибо.
  • 1
    Приятно. Вы можете обратиться к этой ссылке по причине. perfectionkills.com/experimenting-with-html-minifier/...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню