【发布时间】:2015-06-19 13:15:31
【问题描述】:
我正在尝试使用 AngularFire 将对象移动到数组的顶部。
我在 Firebase 中的数组与此类似:
$scope.todos = [
{title:"Work out", timetag:"new Date()", done: false },
{title:"Home work", timetag:"new Date()", done: false }
];
我创建了一个使用 vanilla javascript 将对象存储到变量的函数。该函数从数组中删除要向上移动到数组开头的对象。然后,该函数将您存储到变量中的对象替换为数组的开头。
这是我的代码:
$scope.moveUpPriority = function($index){
var toMove = $scope.todos[$index];
delete $scope.todos[$index];
$scope.todos.splice(0,0, toMove);
$scope.todos.$save();
};
这段代码 sn-p 几乎完全按照我想要的方式工作。当我在我的 todo 列表上运行它时,它会将 todo 任务向上移动到数组中。但是,当我刷新页面时,它不会粘住。
有哪些适当的 AngularFire 方法可以将此类 javascript 代码完全保存或设置到我的 Firebase 后端?
【问题讨论】:
-
您正在渲染的模板是否使用某种 orderBy 表达式?如果是,则 todo-s 所在的顺序无关紧要,因为 Angular 将按特定属性对它们进行排序。
-
模板使用“高优先级”按钮,当您的鼠标悬停在任务上时,该按钮与 ng-show/ng-hide 一起出现。所以当你用 ng-click 点击“高优先级”按钮时,上面的代码 sn-p 就会执行。
标签: javascript firebase angularfire