Как я могу оживить новую строку в ng-сетке?Анимация новых строк ng-grid
Что я хотел бы, так это то, что когда новые данные поступают с сервера, они добавляются в начало сетки, и эта строка затем светится в течение нескольких секунд.
Я попытался добавить класс нг-анимировать в rowTemplate для сетки, но не увенчалась успехом:
$scope.gridOptions = {
data: 'myData',
rowTemplate: '<div style="height: 100%" class="reveal-animation"><div ng-style="{ \'cursor\': row.cursor }" ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngCell {{col.cellClass}}"><div class="ngVerticalBar" ng-style="{height: rowHeight}" ng-class="{ ngVerticalBarVisible: !$last }"> </div><div ng-cell></div></div></div>'
};
Где мой выявить-анимацию (поднятым прямо с нг-одушевленного документации) является:
.reveal-animation.ng-enter {
-webkit-transition: 1s linear all;
transition: 1s linear all;
opacity: 0;
}
.reveal-animation.ng-enter.ng-enter-active {
opacity: 1;
}
Но это не работает для сетки.
Есть ли способ сделать это?
Вот Plunker с моей попыткой http://plnkr.co/edit/iR9voQaFRREi0pjNLQgc?p=preview
Я добавил <ul>
в нижней части, чтобы показать поведение, которое я хочу (и доказать, что нг-одушевленный работают).
Я не думаю, что вы спасли свою вилку! Я помещаю ваш код, хотя, и он работает, как вы описали. Что касается добавления в начало, я думаю, что могу просто добавить перечислимый класс (т. Е. Дать каждой новой строке уникальный идентификатор), а затем просто использовать jQuery для его анимации, но это похоже на хаки. – mindvirus
Я бы, конечно, избегал jQuery. Каждый раз, когда вы смешиваете угловые и jquery, это должен быть красный флаг, что вы на неправильном пути. Я думаю, что лучший план - дать им уникальный идентификатор и просто упорядочить сетку таким образом и сделать обычный 'array.push' вместо' unshift'. Надеюсь, он оживит правильный ряд и положит его наверху. Не требуется jQuery. – Fourth