Angular JS:如何使用数组作为模型

Angular JS: How to use array as a model?

本文关键字:模型 数组 何使用 JS Angular      更新时间:2023-09-26

我所拥有的是使用ng-repeat生成的tasks列表。每个任务都有一个用于更新任务的隐藏表单。首先,我列出了li s形式的所有任务,每当点击一些li时,我试图使表单可见,任务li隐藏(使用ng-showng-hide)。在我看来,我得到了以下

<span ng-repeat="task in tasks">
    <li class="tasknum-{{$index}}  tasknum-{{$index}}-task" ng-click="toggleEditForm( $index )"  ng-hide="editTaskForm[{{$index}}]">
        ...
    </li>
    <!-- /.task -->
    <li class="task add-task-form" ng-show="editTaskForm[{{$index}}]">
        ...
    </li>
</span>

因为会有多个任务,你可以注意到,我已经尝试使用editTaskForm[{{$index}}],使模型可以作为一个数组工作。在我的模型中,我有以下内容:

$scope.toggleEditForm = function ( index ) {
    $scope.editTaskForm[index] = !$scope.editTaskForm[index];
}

但由于某种原因,我得到$scope.editTaskFormundefined。例如,当我单击第一个任务li时,它显示:

TypeError: Cannot read property '0' of undefined!
谁能告诉我,我在这里做错了什么?

初始化数组,正如@Omar在他上面的评论中建议的那样,解决了这个问题!

$scope.editTaskForm = [];