在Angular JS中交换元素

时间:2016-08-08 14:48:21

标签: javascript jquery html angularjs

我很好奇使用angular来动画和交换元素的适当方法是什么。我有一个二维数组,有一个嵌套的ng-repeat来创建表。我的最终目标是使用动画在表格中交换两个元素,所以基本上只是将鼠标悬停在彼此的位置上。

我有这个函数交换两个jquery元素的位置,但它不会更新数组,最终角度数组将不再与显示的内容同步。我还发现,当在行之间移动元素时,动画会稍微挂起,而列是平滑的。即。 [0] [0] - > [0] [1]是平滑的[0] [0] - > [1] [0]挂起

jQuery.fn.swapWith = function (to, callback) {    
        animating = true;
        thisPos = this.position();
        toPos = to.position();
        $.when(this.animate({
            top: toPos.top,
            left: toPos.left
        }, 300),
            to.animate({
                top: thisPos.top,
                left: thisPos.left
            }, 300)).done(function () {
                animating = false;
                if (callback) {
                    callback();
                }
            });


    };

我也发现这个代码笔非常好,但也不是我想要的。 http://codepen.io/daleyjem/pen/xbZYpY是否有一种标准的处理角度的方法?

用更简单的术语来说:如果我想让数组[0] [0]与数组[0] [1]交换位置并让$ scope对象更新,我应该怎么做?与数组[0] [0]到数组[1] [0]?

相同

编辑:我应该提一下,我注意到只需将元素设置为彼此相等就会适当地更新表格。问题是缺乏动画。例如:

a = [0][1]
b = [0][0]

[0][1] = b
[0][0] = a

0 个答案:

没有答案