Javascript Angular JS:如何使用数组作为模型?
我拥有的是使用Javascript Angular JS:如何使用数组作为模型?,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我拥有的是使用ng repeat生成的任务列表。每个任务都有一个隐藏表单来更新任务。首先,我以lis的形式列出所有任务,每当单击一些li时,我都试图使表单可见,并隐藏任务li(使用ng show和ng hide)。在我看来,我有以下几点 <span ng-repeat="task in tasks"> <li class="tasknum-{{$index}} tasknum-{{$index}}-task" ng-click="toggleEditForm( $in
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>
但由于某些原因,我将$scope.editTaskForm
设置为未定义。例如,当我单击第一个任务li
,它会显示:
TypeError: Cannot read property '0' of undefined!
谁能告诉我,我做错了什么?正如@Omar在上面的评论中所建议的那样,初始化数组解决了问题
$scope.editTaskForm = [];
尝试在控制器的第一行初始化数组:($scope.editTaskForm=[];)是的,为了安全起见,请始终在控制器的第一行初始化作用域变量。@Omar谢谢,它成功了:-)
$scope.editTaskForm = [];