我有一个暴露于$scope
的数组,名为exercise,其中包含一系列练习,这些练习就是这样的对象:
[
{
"exerciseName": "Half Lunge ",
"exerciseDescription": "Stand with one foot forward taking most of your weight.",
"images": [71,73]
}
]
我的目标是使用以下方法将练习从一个位置移动到另一个位置:
$scope.moveItem = function(exercise, fromIndex, toIndex) {
$scope.exercises.splice(fromIndex, 1);
$scope.exercises.splice(toIndex, 0, exercise);
};
然而,这会使用toIndex
fromIndex
中的练习
答案 0 :(得分:1)
你在函数中传递了一个额外的参数。 只需从元素中删除该练习参数。
<ion-reorder-button class="ion-navicon" on-reorder="moveItem(exercise, $fromIndex, $toIndex)"></ion-reorder-button>
已编辑codepen
答案 1 :(得分:0)
您正在移除fromIndex位置的元素。 然后,您将在index toIndex。
添加元素练习这完全取决于您提供的指数。如果fromIndex是你的运动对象的索引而toIndex是你想要它移动的地方,那么它应该可以工作。
如果你只有一个to和from索引而不是一个运动对象作为函数参数,那就更清楚了。那你就冷了:
$scope.moveItem = function(fromIndex, toIndex) {
var exercise = $scope.exercises[fromIndex];
$scope.exercises.splice(fromIndex, 1);
$scope.exercises.splice(toIndex, 0, exercise);
};