2016-09-14 216 views
0

我收到错误。我的Javascript函数返回未定义,但它在该函数内提醒正确。 在我的第一个控制器上,我打电话是这样的。Javascript函数返回undefined

CustomerService.setName(data.name); 

而且在服务页面这样

service.setName = function(name){ 
    var user = name; 
    alert(user); 
    return user; 
} 

我访问我这样第2控制器上这个返回值。

$scope.name = CustomerService.setName(); 

* CustomerService是服务名称。

回答

0

考虑使用get/set方法

在你的服务,你可以有

var user; 
service.setName = function(name){ 
    user = name; 
    // optional return if you feel the need to 
} 
service.getName = function(){ 
    return user; 
} 

您当前service.setName不持续的name的原因,而是存储在本地变量。

希望这有助于

1

即使函数需要,下面也没有提供参数。

$scope.name = CustomerService.setName(); 
1

用“var”创建变量会创建一个局部变量,所以当您再次调用该函数时,该值不再存在。只有当你对这个函数进行论证时,它才会起作用。

0

你没有提供任何参数,此功能service.setName()。所以name被设置为undefined,这会导致函数返回undefined。