使用角度材料按钮在ng-repeat中进行奇数短持续时间重复行为

时间:2015-03-22 20:15:28

标签: angularjs angular-material

This是(精简版)材料版本的代码笔,this是(剥离)引导版本。除了依赖关系之外,所有的javascript都是相同的。

我有一个使用bootstrap css的服务器端分页指令(我不确定angular-bootstrap库当时是否没有分页,或者我还没有找到它)。我决定将它移植到角度材料,认为指令逻辑可以完全重用,我可以切换模板。使用角度材料版本,形成寻呼机的所有md按钮都会重复一段时间,然后每次重建寻呼机时都会消失。我在每次ajax调用后重建了寻呼机,因为过滤器可以改变总页数。寻呼机的精简版本如下:

app.controller('pagerCtrl', [
            '$scope', 'userService', function ($scope, userService) {
                var self = this;

                self.pageNumber = 1;
                self.page = function (number) {
                    self.pageNumber = number;
                    self.refresh();
                }
                self.refresh = function () {
                    userService.loadAllUsers().then(function (users) {
                        self.users = [].concat(users.data);
                        self.paging = users.paging;
                        self.buildPager();
                    });
                }
                self.buildPager = function () {
                    var pages = [];
                    for (var i = 1; i < self.paging.numberOfPages + 1; i++) {
                        pages.push({ number: i, isActive: self.pageNumber === i });
                    }
                    self.pages = [].concat(pages);
                }
                self.refresh();
            }]);

This是(精简版)材料版本的代码笔,this是(剥离)引导版本。除了依赖关系之外,所有的javascript都是相同的。

我想知道这是否是预期的行为,以及我是否可以采取任何措施使瞬间重复停止。在设置页面之前,我已经使用了几种对页面进行清零的方法,将页面设置为[] .concat(页面),就像在演示项目中一样。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

禁用动画可以解决问题(虽然它可能会破坏其他内容)。

看看this pen

我全局禁用了动画,问题就消失了。

app.run(function($animate){
    $animate.enabled(false);
})

您也可以在本地禁用元素的动画。