Javascript 在输入字段上使用ng模型,该字段的值已从另一个模型设置

Javascript 在输入字段上使用ng模型,该字段的值已从另一个模型设置,javascript,angularjs,forms,Javascript,Angularjs,Forms,我有一个输入字段,将预先填充用户信息,若该数据是可用的电子邮件地址、名字等 最初,我使用$scope.userData设置输入字段的值,当我在输入字段上设置ng model属性时,前端的值为空 例如: 用于显示值输入字段中有用户的电子邮件: 不工作空白输入字段: 我明白为什么这不起作用了,formData.email是空的,似乎模型会覆盖该值,但我需要将其保存到formData中,然后在提交表单时向我的服务发出POST请求 我是angular新手,希望使用angular而不是使用jQuery作为

我有一个输入字段,将预先填充用户信息,若该数据是可用的电子邮件地址、名字等

最初,我使用$scope.userData设置输入字段的值,当我在输入字段上设置ng model属性时,前端的值为空

例如:

用于显示值输入字段中有用户的电子邮件:

不工作空白输入字段:

我明白为什么这不起作用了,formData.email是空的,似乎模型会覆盖该值,但我需要将其保存到formData中,然后在提交表单时向我的服务发出POST请求

我是angular新手,希望使用angular而不是使用jQuery作为支撑


那么,我如何将电子邮件字段设置为表单提交期间使用的模型,但如何使用初始电子邮件数据(如果存在)填充电子邮件字段的值呢

AngularJS使用双向绑定

这意味着,如果您在输入中使用ng model=formData.email写入某些内容,则范围值将更改,并且在控制器中它将作为$scope.formData.email进行访问。如果您在控制器中更改$scope.formData.email的值,它将自动更新视图中的值

要设置默认地址,您应该从输入中删除value属性,并在controller开头的JavaScript中设置$scope.formData.email的值


我建议你读一下官方的。这里对所有内容都进行了很好的描述。

您要做的是在加载表单时执行以下代码:

formData.email=data.email

为此,Angular采用了ngInit方法。假设您在某个地方设置了一个名为initializeEmail的函数,它可以实现这一点。然后,您需要在表单标记内或任何知道formData是什么的地方添加类似的内容:


我找不到任何关于ng load的文档。我把initEmail功能添加到了我的控制器上,所以谢谢你的主意。我的坏,ngInit,不是ngLoad。我已相应地更新了我的答案。
<input class="text-input" type="email" value="{{data.email}}">
<input class="text-input" type="email" ng-model="formData.email" value="{{data.email}}">