如何解析和更改ng模型数据

时间:2019-07-09 08:11:04

标签: javascript angularjs

我有一个表单,该表单从API获取数据(输入值,选择值,该用户之前已完成)。我尝试为此表格做“编辑”功能。用户可以更改表格并将其发送回。问题是我只需要从输入字段发送ID,但是angular会发送“ ID +名称”数据。第二个问题是,当用户单击“提交”按钮时,我需要更改“状态ID”。

我尝试更改ng-model,但这没有帮助。

API数据

{
   status: { id: '123', name: 'new'},
   name: 'some_cool_name',
   section: { id: '741', name: 'sectionName';
   presentaion: { id: '365', name: 'some_words'}
}

服务

Object.assign(this, { getAllAwards() { 
  return http.get('myAPI')}.then({ data }) => return data;
}}

控制器

$scope.allAwards = awards_service.getAllAwards().then((result) => {
  $scope.awards = result;
});

查看

<form ng-repeat="awardDraft in awards">
  <input type="text" name="name" ng-model="awardDraft.name">
  <select name="section" ng-model="awardDraft.section.id"
          ng-options="object.id as object.name for object in sections"> 
  </select>
  <input type="text" name="presentation" ng-model="awardDraft.presentation">
</form>

表单中的期望数据

{
   status: 'someID',
   name: 'someName',
   section: 'sectionID',
   presentaion: 'presentName',
}

我从表格中得到的信息

{
   status: { id: 'XXX', name: 'someStatus' },
   name: 'someName',
   section: { id: 'YYY', name: 'sectionName' }
   presentaion: { id: 'ZZZ', name: 'presentName'}
}

在这种情况下,我不了解ng-model的工作原理,因为如果我从通常的形式发送数据,而没有加载API,则可以正常工作。如何定义从特定输入和ng-model发送的内容?

0 个答案:

没有答案