Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何设置ng动画,在ng重复中保留正确的元素?_Angularjs_Ng Animate - Fatal编程技术网

Angularjs 如何设置ng动画,在ng重复中保留正确的元素?

Angularjs 如何设置ng动画,在ng重复中保留正确的元素?,angularjs,ng-animate,Angularjs,Ng Animate,我在ng上有一个非常酷的动画,在ng重复中输入。 但是,当删除重复中的特定项目时,我还希望它以一个很酷的动画离开。每个项都有一个删除按钮,用于从数组中删除该项 bill.items = _.reject(bill.items,item); 问题是,动画只针对重复中的最后一个项目发生,而不管我试图删除哪个项目。 我猜这只是一个渲染问题,但如果有人对此有一个技巧的话,我会犹豫。我尝试了一些,但还没有成功…这是使用track by$index时的预期结果 例如,如果集合中有十个项目,则最后一个项目将

我在ng上有一个非常酷的动画,在ng重复中输入。 但是,当删除重复中的特定项目时,我还希望它以一个很酷的动画离开。每个项都有一个删除按钮,用于从数组中删除该项

bill.items = _.reject(bill.items,item);
问题是,动画只针对重复中的最后一个项目发生,而不管我试图删除哪个项目。
我猜这只是一个渲染问题,但如果有人对此有一个技巧的话,我会犹豫。我尝试了一些,但还没有成功…

这是使用
track by$index
时的预期结果

例如,如果集合中有十个项目,则最后一个项目将有$index 9。删除一个,不管是哪一个,最后一个现在将有$index 8。这意味着不再存在具有$index 9的元素,当您通过$index进行跟踪时,先前具有$index 9的关联DOM元素将被删除

您需要删除
跟踪方式
,或者删除与特定元素实际相关的属性跟踪方式

例如:

<li ng-repeat="item in items track by item.id">
  • 按$index播放曲目的演示:


    按对象属性跟踪的演示:

    拒绝的第二个参数不应该是谓词函数吗?是否在ng repeat中使用“跟踪方式”?否。通过传递要删除的对象来拒绝工作。我在这个中继器中使用track by$index为什么?出于某种原因,我只是假设您使用的是下划线的拒绝,但我猜是Lo Dash?