以下是我尝试在按钮 click
上创建(可用)的数组类型 -
[
{DATE, morning_VALUE, night_VALUE},
{DATE, morning_VALUE, night_VALUE},
{DATE, morning_VALUE, night_VALUE},
{DATE, morning_VALUE, night_VALUE},
{DATE, morning_VALUE, night_VALUE},
{DATE, morning_VALUE, night_VALUE},
{DATE, morning_VALUE, night_VALUE},
]
morning_VALUE -> true/false
night_VALUE -> true/false
以下是我的 plnkr 代码 - PLNKR
HTML -
<div class="col-lg-3">
<ul>
<li ng-repeat="a in weeklist" style="margin-bottom: 3px;">
<button ng-click="showWeekDays(a[0], a[1])"
style="width:178px;"
class="btn bg-blue">
{{a[0] | date: 'shortDate'}} - {{a[1] | date: 'shortDate'}}
</button>
</li>
</ul>
</div>
<table>
<tr ng-repeat-start="a in sevenWeekDayArr">
<td>
{{a | date: 'shortDate'}}
</td>
<td>
<input type="hidden"
ng-model="avail[$index].currDate"
ng-init="avail[$index].currDate = a" />
</td>
</tr>
<tr>
<td>Morning:</td>
<td>
<input type="checkbox" ng-model="avail[$index].morning" />
</td>
</tr>
<tr ng-repeat-end="">
<td>Night:</td>
<td>
<input type="checkbox" ng-model="avail[$index].night" />
</td>
</tr>
</table>
<div>
<button ng-click="addTime(avail)">Click</button>
</div>
让我知道我在这里做错了什么,我相信我需要在这种情况下使用 push
但不知道如何让它适合我的场景。
最佳答案
您正在尝试将对象绑定(bind)到没有特定值的模型对象。
在 script.js 的第 17 行之后试试这个
$scope.avail.push({currDate: "", morning:false, night:false});
这将初始化该对象数组,然后您可以按照您希望的方式从 View 中修改它
关于javascript - 无法在 AngularJS 中创建动态对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25930774/