Angular CSS Animation不起作用

时间:2013-07-10 19:05:35

标签: css css3 angularjs css-transitions

我有一个系统可以检索动态从服务器检索存储的消息,它的视图是:

<div id= "messages" data-ng-controller="MessageController">
    <div class="message" data-ng-repeat="message in messages | orderBy:'timestamp':true" data-ng-animate="'animate-message'" >
            <div class="user">
                {{ message.user.username }}
            </div>
            <div class="title">
                {{ message.title }}
            </div>
            <div class="content" data-ng-bind-html-unsafe="message.content">
                {{ message.content }}
            </div>
    </div>
</div>

然后我在我的CSS文件中:

.animate-message-enter {
    transition: 1s linear all;
    -moz-transition: 1s linear all;
    -webkit-transition: 1s linear all;
    -o-transition: 1s linear all;
    -ms-transition: 1s linear all;
    opacity:0;
    position:relative;
    left:-100%;
}

.animate-message-enter.animate-message-enter-active {
    opacity:1;
    left:0%;
}

(这只是一个极端的示例转换,所以我可以看到过渡工作)

然而,当一个新对象通过$scope.messages.push(response);输入到数组中时,新消息只会弹出到页面上而没有动画发生,是否有人知道我搞砸了什么?

谢谢:)

1 个答案:

答案 0 :(得分:1)

尝试将您的代码复制粘贴到plnkr中并且工作正常。你有更多的代码吗?

http://plnkr.co/edit/gi6h3adNMfoXkUdiN4lY

我唯一添加的是一个简单的addMessage函数来测试转换。

<button ng-click="addMessage()">Add Message</button>