迭代 ng 模型?可能吗?
Iterating ng-model? Is it possible?
我想做一个循环,它可以在输入中的第一个空值处自动启动,然后连续补充它们。但是,我不知道如何使用 ng-model 在 angularjs 中做到这一点。
好吧,我有一个 html 文件
<input type="text" id="pin" ng-model="inputData.pin" />
<input type="text" id="pin2" ng-model="inputData.pin2" />
我会控制而不是写作
$scope.inputData = { pin : '' };
$scope.inputData = { pin2 : '' };
自动循环
for (var key in receivedData) {
for (var detailKey in receivedData[key]) {
$scope.inputData = { detailKey : '' };
}
}
当 detailKey 在 sequence pin 时,pin2。
目前,这不起作用。有谁知道该怎么做?预先感谢您的帮助:)
你能不能只做 $scope.inputData = receivedData;
?
目前您正在做的是在每次循环迭代时将 inputData 重新分配给一个静态键为 detailKey 的对象。
您似乎误解了如何为对象赋值 -- 您必须 treat it like an associative array.
在您的示例中,您将在每次迭代中重新定义整个 属性 $scope.inputData
,方法是为其提供一个具有单个键 detailKey
的对象文字,其值为空字符串(''
).
您要做的是在对象上定义一个 new 属性,而不是 'overwrite' 对象本身:
for (var key in receivedData) {
for (var detailKey in receivedData[key]) {
$scope.inputData[detailKey] = '';
}
}
然后您可以使用 ng-repeat
指令在 Angular 模板中遍历此对象中表示的键,从 inputData
中获取每个键并将它们的值绑定到 <input>
元素。这将创建 n
<input>
个元素,其中 (n === Object.keys(inputData).length)
.
<input type="text" class="pin"
ng-repeat="key in inputData"
ng-model="inputData[key]" />
注意:您不能在同一文档中多次使用一个 ID。我已经将每个 <input>
元素改为 class 'pin'。
我想做一个循环,它可以在输入中的第一个空值处自动启动,然后连续补充它们。但是,我不知道如何使用 ng-model 在 angularjs 中做到这一点。 好吧,我有一个 html 文件
<input type="text" id="pin" ng-model="inputData.pin" />
<input type="text" id="pin2" ng-model="inputData.pin2" />
我会控制而不是写作
$scope.inputData = { pin : '' };
$scope.inputData = { pin2 : '' };
自动循环
for (var key in receivedData) {
for (var detailKey in receivedData[key]) {
$scope.inputData = { detailKey : '' };
}
}
当 detailKey 在 sequence pin 时,pin2。
目前,这不起作用。有谁知道该怎么做?预先感谢您的帮助:)
你能不能只做 $scope.inputData = receivedData;
?
目前您正在做的是在每次循环迭代时将 inputData 重新分配给一个静态键为 detailKey 的对象。
您似乎误解了如何为对象赋值 -- 您必须 treat it like an associative array.
在您的示例中,您将在每次迭代中重新定义整个 属性 $scope.inputData
,方法是为其提供一个具有单个键 detailKey
的对象文字,其值为空字符串(''
).
您要做的是在对象上定义一个 new 属性,而不是 'overwrite' 对象本身:
for (var key in receivedData) {
for (var detailKey in receivedData[key]) {
$scope.inputData[detailKey] = '';
}
}
然后您可以使用 ng-repeat
指令在 Angular 模板中遍历此对象中表示的键,从 inputData
中获取每个键并将它们的值绑定到 <input>
元素。这将创建 n
<input>
个元素,其中 (n === Object.keys(inputData).length)
.
<input type="text" class="pin"
ng-repeat="key in inputData"
ng-model="inputData[key]" />
注意:您不能在同一文档中多次使用一个 ID。我已经将每个 <input>
元素改为 class 'pin'。