2016-09-14 2 views
0

Я получаю ошибку. Функция Javascript возвращает undefined, пока она предупреждает о правильности внутри функции. На моем первом контроллере я звоню вот так.Функция 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

Создание переменной с «вар» создает локальную переменную, поэтому при повторном вызове функции, значение не существует больше. Только когда вы дадите аргумент функции, он будет работать.

0

Вы не представили какие-либо параметров в эту функции service.setName(). Поэтому имя имеет значение undefined, что приводит к возврату функции undefined.

Смежные вопросы