Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的Angular应用程序有一个奇怪的问题:从控制器传递到服务的对象最终在服务中未定义_Javascript_Angularjs - Fatal编程技术网

Javascript 我的Angular应用程序有一个奇怪的问题:从控制器传递到服务的对象最终在服务中未定义

Javascript 我的Angular应用程序有一个奇怪的问题:从控制器传递到服务的对象最终在服务中未定义,javascript,angularjs,Javascript,Angularjs,我的angular应用程序有一个问题:我从控制器传递到服务的js对象在到达服务时总是以未定义结束 我的控制器($scope.passwordResetForm此处始终计算为正确的js对象): 我的服务(passwordResetForm始终是未定义的此处…): 有人能帮忙吗 编辑1:我很困惑。在控制器中添加控制台日志后,我注意到$scope.passwordResetForm在控制器中确实是未定义的。让我困惑的是chrome控制台中的调试信息。见下文: this: ChildScope $$Ch

我的angular应用程序有一个问题:我从控制器传递到服务的js对象在到达服务时总是以
未定义
结束

我的控制器(
$scope.passwordResetForm
此处始终计算为正确的js对象):

我的服务(
passwordResetForm
始终是
未定义的
此处…):

有人能帮忙吗

编辑1:我很困惑。在控制器中添加控制台日志后,我注意到$scope.passwordResetForm在控制器中确实是未定义的。让我困惑的是chrome控制台中的调试信息。见下文:

this: ChildScope
$$ChildScope: null
$$childHead: null
$$childTail: null
$$listenerCount: Object
$$listeners: Object
$$nextSibling: null
$$prevSibling: null
$$watchers: Array[3]
$$watchersCount: 0
$id: 5
$parent: Object
passwordResetForm: Object
email: "me@gmail.com"
__proto__: Object
__proto__: Object
编辑2

将此添加到控制器中解决了问题:

$scope.passwordResetForm={};
因为ng模型是一个对象:

ng-model="passwordResetForm.email"

使用Google chrome source调试控制器:如果放置
console.log($scope.passwordResetForm)
在服务呼叫和另一个
控制台之前。当您进入该功能时,您会看到两个不同的东西?是的,这就是我过去常说的……Omri aharon:请放心……@Jbigman是:问题解决了!
$scope.passwordResetForm={};
ng-model="passwordResetForm.email"