我有一个3列显示器来模仿看板。每列在一个$ scope.list上执行ng-repeat。然后我过滤每列以包含我想要的主题。但是现在我希望能够将项目从一列拖到另一列,并且在删除项目时,对我的rest api执行$ http调用,这将更新该项目。
我看过一些像这样的工具 - http://codef0rmer.github.io/angular-dragdrop/#/
但据我所知,这对我没有任何帮助,因为我的数据都在一个列表中。
包含所有项目的列表是$ scope.board,这是JSON输出。
{
"_id":"553b9fc4fee8d25ceeba6c92",
"boardAuthor":"553b9e64fee8d25ceeba6c91",
"title":"Board title",
"description":"Whatever",
"__v":0,
"boardTickits":[
{},
]
}
我认为一种方法可能是将$ scope.board拆分为单独的数组,但我似乎无法访问嵌套数组。
for(i = 0; i < $scope.board.boardTickits.length; i++) {
if($scope.board.boardTickits.category == 1) {
$scope.todoCol = $scope.board.boardTickits[i];
} else if ($scope.board.boardTickits.category == 2) {
$scope.doingCol = $scope.board.boardTickits[i];
} else if($scope.board.boardTickits.category == 3) {
$scope.doneCol = $scope.board.boardTickits[i];
}
}
尝试获取嵌套数组的长度时出错。
如果有人提供了一些有关访问嵌套数组的见解,那就太棒了,欢呼!
答案 0 :(得分:1)
因为您正在对.length
对象undefined
进行$scope.board.boardTickits
。您需要将for
循环条件格式$scope.board.boardTickits.length
更改为$scope.board.length
for(i = 0; i < $scope.board.length - 1; i++) {
if($scope.board.boardTickits.category == 1) {
$scope.todoCol = $scope.board.boardTickits[i];
} else if ($scope.board.boardTickits.category == 2) {
$scope.doingCol = $scope.board.boardTickits[i];
} else if($scope.board.boardTickits.category == 3) {
$scope.doneCol = $scope.board.boardTickits[i];
}
}