Сортировка не будет работать после 'grunt build', я предполагаю, что это js-minify как-то ее ломает. Когда я щелкаю заголовок, ничего не происходит. Как ни странно, все остальное работает. Кто-нибудь с подобными проблемами?
Вот мой контроллер директив
controller: ['$scope', '$filter', 'ScoresAPI', 'ngTableParams', function($scope, $filter, ScoresAPI, ngTableParams)
{
ScoresAPI.getLeagueStandings($scope.leagueId)
.success(function(data)
{
$scope.tableParams = new ngTableParams({
page: 1,
count: data.length,
sorting: false
}, {
total: data.length,
counts: [],
getData: function($defer, params)
{
var orderedData = params.sorting() ? $filter('orderBy')(data, params.orderBy()) : data;
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
});
}]
Я столкнулся с той же проблемой.
В моем случае это была не цель jsminify. Но был целью htmlmin. Я изменил collapseBooleanAttributes
на false, и это решило проблему для меня. Вот вся конфигурация цели:
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 %>'
}]
}
}
Отлично, это тоже решило мою проблему. Спасибо!
Я сегодня столкнулся с этой проблемой. Это оказалось полезным.
Хотя, я не уверен, достаточно ли этого решения, чтобы считать проблему закрытой. Все остальное работает без редактирования Gruntfile.js. Почему ng-table не работает, мне неизвестно.
исправление сработало и для меня. Но это действительно должно быть открыто. В ридми должно быть упоминание о
исправление сработало и для меня
У меня это не работает. Я использую bower, и я пробовал как с версией, опубликованной выше, так и с этим изменением:
src: ['_.html', 'views / {, _ /} _. html', 'bower_components / {, __ /} _. html'],
Это список имеющихся у меня файлов html.
$ls -la bower_components/**/*.html
-rw-rw-r-- 1 andrei andrei 1585 iun 7 2013 bower_components/es5-shim/tests/index.html
-rw-rw-r-- 1 andrei andrei 1546 iun 7 2013 bower_components/es5-shim/tests/index.min.html
Как это исправление должно работать? В чем основная причина? У меня AngularJS версии 1.2.15
Спасибо!.
Хммм ... похоже, что в моей ситуации используется $templateCache
и поэтому игнорирую шаблон "* .html" выше
$templateCache.put('ng-table/header.html', '<tr> <th ng-repeat="column in $columns" ng-class="{ \'sortable\': parse(column.sortable), \'sort-asc\': params.sorting()[parse(column.sortable)]==\'asc\', \'sort-desc\': params.sorting()[parse(column.sortable)]==\'desc\' }" ng-click="sortBy(column, $event)" ng-show="column.show(this)" ng-init="template=column.headerTemplateURL(this)" class="header {{column.class}}"> <div ng-if="!template" ng-show="!template" ng-bind="parse(column.title)"></div> <div ng-if="template" ng-show="template"><div ng-include="template"></div></div> </th> </tr> <tr ng-show="show_filter" class="ng-table-filters"> <th ng-repeat="column in $columns" ng-show="column.show(this)" class="filter"> <div ng-repeat="(name, filter) in column.filter"> <div ng-if="column.filterTemplateURL" ng-show="column.filterTemplateURL"> <div ng-include="column.filterTemplateURL"></div> </div> <div ng-if="!column.filterTemplateURL" ng-show="!column.filterTemplateURL"> <div ng-include="\'ng-table/filters/\' + filter + \'.html\'"></div> </div> </div> </th> </tr>'),
Я решил свою проблему. Я заменил 'sortable = "' name '" "на' data-sortable =" 'name' "", и он работает. Проверь это:
http://bit.ly/1BgfqTu
Подход @faisalferoz тоже сработал для нас. Для цели htmlmin изменение collapseBooleanAttributes на false.
опять @esvit это действительно должно быть в ридми. это важная функция, которая выходит за рамки стандартного и довольно распространенного этапа производственной сборки.
Подход @andreicristianpetcu тоже сработал для нас (команда переключается на него, чтобы мы могли по-прежнему пользоваться преимуществами оптимизации gulp-htmlmin в других местах).
Ты мой герой, если бы я не нашел это решение, я уверен, что потратил бы остаток своего вечера на это.
СПАСИБО!!! Это сводило меня с ума
изменение collapseBooleanAttributes
в Gruntfile на false по-прежнему решает эту проблему - спасибо, что нашли это.
+1 к обходному пути
Была эта проблема сегодня.
Без изменений в файле grunt collapseBooleanAttributes: true
Это отсортировано: sortable
=> data-sortable
Я решил эту проблему, изменив collapseBooleanAttributes:
на false
в htmlmin.dist.options
Gruntfile.
На самом деле мне пришлось сделать две вещи ... изменить collapseBooleanAttributes:
на false
а также изменить код с <td data-title="'App score'" sortable="'gender'" >{{content.gender}}</td>
на <td sortable="'gender'" data-title="'App score'" >{{content.gender}}</td>
работая только с сортировкой данных не исправил для меня ...
@ Jony-Y, это странно. Значит, вам пришлось изменить порядок указания атрибутов ngTable в элементах <td>
?
Отлично, это тоже решило мою проблему. Спасибо!
Я меняю collapseBooleanAttributes: true
на false
, сортировка работает, спасибо
Оба решения сработали для меня.
Однако у меня также была проблема с CSS (см. 2 стрелки вверх на несортированных столбцах):
Установка следующего параметра устранила проблему:
cssmin: {
options: {
advanced: false
}
},
@andreicristianpetcu +1 У меня тоже сработало!
Я рад, что это сработало: D
изменение collapseBooleanAttributes решило мою проблему, спасибо
Использование сортировки данных сработало для меня.
Измените файл grunt collapseBooleanAttributes: true, и он снова заработает через секунду.
Это мне совсем не помогло: sortable => data-sortable
спасибо за советы, ребята ...
htmlmin
Решено за меня.
Самый полезный комментарий
В моем случае это была не цель jsminify. Но был целью htmlmin. Я изменил
collapseBooleanAttributes
на false, и это решило проблему для меня. Вот вся конфигурация цели: