为此我需要 2 个 ng-models 吗?
Do I need 2 ng-models for this?
我正在尝试创建一个表单,其中输入字段填充了数组中的值,但该表单被保存到另一个数组中。
例如,字段将从这个数组中填充
{
"organisation": [
{
"OrgID": 1234,
"OrgName": "Organisation one"
},
{
"OrgID": 4567,
"OrgName": "Organisation two"
},
{
"OrgID": 9876,
"OrgName": "Organisation three"
}
]
}
我使用的输入框是这个
<input type="text" ng-model="formData.organisations[organisation.OrgID].name" id="{{organisation.OrgName}}" ng-value="organisation.OrgName"/>
所以这应该显示 'organisation' 数组中的组织名称,用户应该能够编辑该字段,并且值应该被推送到一个名为 'formData' 的新数组中。这在 Angular 中可行吗?
在您的控制器中初始化 formData.organisations
以从组织数组中获取您需要的所有信息,如下所示:
$scope.formData.organisations = angular.copy($scope.organisations);
您将能够像这样借助 ngInit 实现此目的:
<input type="text"
ng-init="formData.organisations[organisation.OrgID].name = organisation.OrgName"
ng-model="formData.organisations[organisation.OrgID].name"
id="{{organisation.OrgName}}" />
我正在尝试创建一个表单,其中输入字段填充了数组中的值,但该表单被保存到另一个数组中。
例如,字段将从这个数组中填充
{
"organisation": [
{
"OrgID": 1234,
"OrgName": "Organisation one"
},
{
"OrgID": 4567,
"OrgName": "Organisation two"
},
{
"OrgID": 9876,
"OrgName": "Organisation three"
}
]
}
我使用的输入框是这个
<input type="text" ng-model="formData.organisations[organisation.OrgID].name" id="{{organisation.OrgName}}" ng-value="organisation.OrgName"/>
所以这应该显示 'organisation' 数组中的组织名称,用户应该能够编辑该字段,并且值应该被推送到一个名为 'formData' 的新数组中。这在 Angular 中可行吗?
在您的控制器中初始化 formData.organisations
以从组织数组中获取您需要的所有信息,如下所示:
$scope.formData.organisations = angular.copy($scope.organisations);
您将能够像这样借助 ngInit 实现此目的:
<input type="text"
ng-init="formData.organisations[organisation.OrgID].name = organisation.OrgName"
ng-model="formData.organisations[organisation.OrgID].name"
id="{{organisation.OrgName}}" />