angularjs - AngularJS嵌套的ng-repeat不修改模型
问题描述
我正在尝试遍历嵌套对象并使用复选框来切换属性。我正在使用嵌套ng-repeat
语句。数据显示正常,但是当我去保存数据时,事实证明它实际上并没有ng-model
像通常那样修改。我在这里缺少什么吗?
这是HTML:
<div class="settings-container">
<div ng-repeat="(key, category) in vm.graphSettings">
<div class="row">
<div class="col-xs-12">
<h3>{{ key | titleCase }}</h3>
</div>
</div>
<div class="row">
<div class="col-lg-8 col-md-10 col-xs-12">
<div class="row select-row">
<div class="col-xs-3" ng-repeat="(id, value) in category">
<div class="checkbox">
<label>
<input type="checkbox" ng-model="value">
<div class="pseudo-checkbox"></div>
<span class="input-name">{{ id | titleCase }}</span>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
这是上面vm.graphSettings
反映的对象。
graph: {
general: {
showLegend: false,
showNullValues: false,
showTitle: false,
},
xAxis: {
showLabel: false,
showXAxis: true,
dynamicLines: true
},
yAxis: {
showLabel: false,
showYAxis: false
}
}
解决方案
ng-model
应该是模型属性的名称,而不是值本身:
<div class="settings-container">
<div ng-repeat="(key, category) in vm.graphSettings">
<div class="row">
<div class="col-xs-12">
<h3>{{ key | titleCase }}</h3>
</div>
</div>
<div class="row">
<div class="col-lg-8 col-md-10 col-xs-12">
<div class="row select-row">
<div class="col-xs-3" ng-repeat="(id, value) in category">
<div class="checkbox">
<label>
̶<̶i̶n̶p̶u̶t̶ ̶t̶y̶p̶e̶=̶"̶c̶h̶e̶c̶k̶b̶o̶x̶"̶ ̶n̶g̶-̶m̶o̶d̶e̶l̶=̶"̶v̶a̶l̶u̶e̶"̶>̶
<input type="checkbox" ng-model="category[id]">
<div class="pseudo-checkbox"></div>
<span class="input-name">{{ id | titleCase }}</span>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
推荐阅读
- python - 在 seaborn 中使用 FacetGrid 缩放构面以适应数据并使用最大可用空间
- laravel - 重试 MaxAttemptsExceededException 作业
- node.js - 使用 session 和 node.js 检查用户是否登录
- angular - 使用 Angular 4 的 Github 应用程序
- android - 带有适配器的自动完成文本视图显示奇怪的问题
- delphi - onResize 和 onResized 有什么区别?
- php - 添加类别页面发生数据库错误
- javascript - 猫头鹰旋转木马上第一项大的滑块
- ionic3 - ionic 3 应用程序中的消息发送不起作用
- reactjs - React typescript - 使用 const 调用 api 数据?