预填充字段,angularjs控制器不';我不认识这些价值观

预填充字段,angularjs控制器不';我不认识这些价值观,angularjs,Angularjs,我正在从Facebook API预填充字段: $("#inputParentName").val(response.name); $("#inputParentEmail").val(response.email); $("#inputParentBirthday").val(response.birthday); 在我的AngularJS服务中,我有以下功能: vm.addParent = function () { alert(vm.inputParentName); al

我正在从Facebook API预填充字段:

$("#inputParentName").val(response.name);
$("#inputParentEmail").val(response.email);
$("#inputParentBirthday").val(response.birthday);
在我的AngularJS服务中,我有以下功能:

vm.addParent = function () {
    alert(vm.inputParentName);
    alert(vm.inputParentBirthday);
    alert(vm.inputParentEmail);
调用此函数时,预填充字段在警报框中显示为“未定义”。但是,如果我键入值,我将得到实际键入的文本


要让AngularJS代码识别预填充的值,我需要做什么?

您正在使用jQuery填充输入字段。您应该做的是填充分配给输入字段ng模型的角度范围值

i、 e

然后,这些值将显示在预期的位置

(我在猜测你的html和javascript,但这只是一个大概的猜测)


帮自己一个忙,避免尝试将jQuery和Angular结合起来-这是可以做到的,但不是必须的。

进一步澄清您的值未分配给模型的原因是Angular不知道它们是否存在。通过查询元素而不是ngModel更新字段会绕过Angular的数据绑定。要么调用$scope。将赋值放在$scope之后进行摘要处理。$apply(函数(){})可以工作,但不推荐使用。按照建议操作,并使用内置模型设置值

不知道你的意思
$(“#some_id”).val(some_val)
将仅设置HTML元素的
属性。我不明白你怎么会期望它与
vm
中的属性相对应,当你使用angular时,你应该避免使用jquery,除非绝对没有其他方法来完成你的任务。@Claies-现在我正在使用FB API,所以在我更好地处理它之前,我是以混合形式工作的。据我所知,你不需要jquery来使用Facebook API…@Claies我找到了一个如何使用AngularJS和FB API的示例…有没有办法将我从Facebook API获得的响应对象传递给我的控制器?我需要查看它的格式,但如果是JSON格式,你可以将它设置为$scope.facebookAPIObject=returnedFacebookAPIObject;
<input type="text" name"inputParentName" id="inputParentName" ng-model="vm.inputParentName">
<input type="text" name"inputParentEmail" id="inputParentEmail" ng-model="vm.inputParentEmail">
<input type="text" name"inputParentBirthday" id="inputParentBirthday" ng-model="vm.inputParentBirthday">
$scope.vm = {
  'inputParentName': response.name,
  'inputParentEmail': response.email,
  'inputParentBirthday': response.birthday
}