您实际上如何从javascript文件中获取角度.js动画代码以激活

How do you actually get angular.js animation code from your javascript file to activate?

本文关键字:js 动画 代码 激活 获取 实际上 文件 javascript      更新时间:2023-09-26

在app.controller启动的位置下方,控制台.log语句(第四行角度.js代码)将输出呈现到控制台。谁能解释为什么动画代码没有得到实现?hg-repeat指令是否允许重复div部分内的元素?如有任何帮助,将不胜感激。谢谢

应用.js

var app = angular.module('TarasDeli', ['ngAnimate']);
DivInfo = [
{
    image: "SomeImage",
    time: "At /n" + "6:00 AM...",
    Happenstance: "Shop opens up /n" + "Chefs prepare",
},
{
    image: 'SomeImage',
    time: "At /n" + "11:30 AM.../n" + "...12:00 PM/n" + "...12:30 PM/n" + "...1:00 PM/n",
    Happenstance: "Students flood Deli /n" + "For Lunch",
},
{
    image: 'SomeImage',
    time: "At /n" + "4:00 AM/n",
    Happenstance: "Deli Closes",
}
    ];

角度.js应用程序之外的代码.js

app.controller('FadeInOut', function(){
    this.mainDivs = DivInfo;
});
app.animation('.repeated-item', [function(){
        console.log('I work');
                return {
                    enter: function(element, done){
                        element.css('opacity', 0);
                        $(element).animate({
                            opacity: 1
                        }, done);
                    },
                    leave: function(element, done){
                        element.css('opacity', 1);
                        $(element).animate({
                            opacity: 0
                        }, done);
                    }
                };
}]);

目录

棱角分明.js表达式反映了上面 DivInfo 数组中的对象。第一个图像显示在视图中,但另外两个图像应该出现在视图中,并执行 enter 方法。而且角度.js代码似乎没有将 DivInfo 数组中的最后两个图像呈现到视图中。另外,我已经通过node下载了角度动画模块.js并将其作为依赖项。所依赖的脚本位于最底部并且是正确的(仔细检查)。

<div id = 'Carousel-Inner' ng-controller = 'FadeInOut as DivCarousel'>
<div ng-repeat = 'mainDiv in DivCarousel.mainDivs' class = 'repeated-item'>
<img ng-src = "{{ mainDiv.image }}" /> 
<span>{{ mainDiv.time }}</span>
<p>{{ mainDiv.happenstance }}</p>
</div>
</div>

脚本依赖于

<script src = "http://code.jquery.com/jquery-1.11.1.js"></script>
<script type = 'text/javascript' src = '../node_modules/angular/angular.min.js'></script>
<script src = "../node_modules/angular-animate/angular-animate.min.js"></script>
<script type = "text/javascript" src = '../app.js'></script>
<script src = '../Js/Deli.js'></script>
<script src = '../Js/MappingSys.js'></script>

在没有完整示例的情况下很难弄清楚出了什么问题,所以如果我误解了这一点,我深表歉意。这是我从您的代码中整理的一个演示:

http://jsfiddle.net/y2aosL35/1/

根据文档,ng-repeat的动画事件是enterleavemove https://docs.angularjs.org/api/ng/directive/ngRepeat:

因此,将项目添加到 DivInfo 数组将触发enter动画(我使用了 $timeout,以帮助在演示中明确它)