我所拥有的是使用tasks
生成的ng-repeat
列表。每个任务都有一个隐藏的表单来更新任务。首先,我列出li
s形式的所有任务,每当点击li
时,我都会尝试使表单可见并隐藏任务li
(使用ng-show
和ng-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.editTaskForm
为undefined
。例如,当我点击第一个任务li
时,它会显示:
TypeError: Cannot read property '0' of undefined!
任何人都可以告诉我,我在这里做错了吗?
答案 0 :(得分:0)
正如@Omar在上面的评论中所建议的那样初始化数组解决了这个问题!
$scope.editTaskForm = [];