我正在尝试使用ng-repeat来遍历一组键并显示与每个键相关联的场景值。当键值被硬编码时,视图代码起作用。现在ng-repeat提供了密钥,输入字段最初不会显示关联的方案值。我正在使用AngularJS 1.2.21。
这是设置$ scope的控制器代码:
$scope.keys = KEYS; // array of strings
$scope.scenario = scenario; // object containing key: value pairs
这是生成输入的视图代码:
<form name="gameSettingsForm" novalidate ng-submit="validateAndSaveSettings()" class="form-horizontal" role="form">
<div class="row">
<div class="col-md-6">
<div class="form-group" ng-repeat="key in keys">
<div class="col-md-3">
<input type="number" required ng-disabled="readOnly" class="form-control"
ng-model="scenario[key]"
id='{{key}}' name='{{key}}'>
<p>input contains {{scenario[key]}}</p>
</div>
</div>
</div>
</div>
</form>
当页面加载时,输入字段为空,即使&#34;输入包含&#34; text正确显示scenario [key]值。如何在页面加载时获取要在输入字段中显示的值?
更新: 我已经注释掉除了一个KEY数组项之外的所有项。激活它们后,页面加载时,大多数生成的输入字段为空。但是,当页面加载时,其中一些填充。所有&#34;输入包含&#34;字符串始终正确显示其方案[键]值。
周围的工作: 实现了显示的场景值已通过乘法修改。在显示之前将所有场景值乘以1,使问题消失。
答案 0 :(得分:0)
解决方案是确保模型值是输入数字&#34; number&#34;的数字。我通过乘法做到了这一点:
value = value * 1;
我创建了一个独立的示例,演示了当模型值不是数字时出现问题:http://plnkr.co/qnFHafmIOWVW6eWkQsmk