Анимация нг-шоу в строке таблицы

Я пытаюсь скользить вверх / вниз строки таблицы при переключении ng-show, Я использую AngularJS v1.3.0-rc.5 и включил ngAnimation модуль в моем приложении, но он всегда переключается, не анимируется. Я делаю что-то неправильно?

HTML-код следующий:

<tbody>
    <tr data-ng-repeat-start="employee in stafflist" ng-init="isToggled[$index]">
        <td><a href="#" data-ng-click="toggleEmployee($index)">{{employee.FULLNAME}}</a></td>
        <td>{{employee.WORKPHONE}}</td>
        <td>{{employee.OFFICE}}</td>
        <td>{{employee.DEPARTMENT}}</td>
        <td>{{employee.COUNTRY}}</td>
    </tr>
    <tr data-ng-repeat-end data-ng-show="isToggled[$index]" class="animate-show">
        <td colspan="5">
            <div class="employeeInfo">
                <img ng-src="EmployeeImage.aspx?p={{employee.PHOTOURL}}" />
                Employee info
            </div>
        </td>
    </tr>
</tbody>

JavaScript для переключения довольно прост и имеет следующий вид:

$scope.isToggled = [];
$scope.toggleEmployee = function (id) {
    $scope.isToggled[id] = !$scope.isToggled[id];
};

Код анимации CSS выглядит следующим образом:

.animate-show {
    line-height:40px;
    list-style:none;
    box-sizing:border-box;
}

.animate-show.ng-move,
.animate-show.ng-enter,
.animate-show.ng-leave {
    -webkit-transition:all linear 0.5s;
    transition:all linear 0.5s;
}

.animate-show.ng-leave.ng-leave-active,
.animate-show.ng-move,
.animate-show.ng-enter {
    opacity:0;
    max-height:0;
}

.animate-show.ng-leave,
.animate-show.ng-move.ng-move-active,
.animate-show.ng-enter.ng-enter-active {
    opacity:1;
    max-height:40px;
}

1 ответ

Попробуй это:

<tr data-ng-repeat-end ng-animate-children>
    <td colspan="5" data-ng-show="isToggled[$index]" class="animate-show">
        <div class="employeeInfo">
            <img ng-src="EmployeeImage.aspx?p={{employee.PHOTOURL}}" />
            Employee info
        </div>
    </td>
</tr>

Вот рабочий (пример) плнкр

Другие вопросы по тегам