2013-12-13 3 views
0

У меня есть функция внутри контроллера:сферы() возвращения неопределенной в контроллере AngularJS

$scope.passValues = function (param1){ 
    return "foo"; 
}; 
console.log($scope.passValues()); 

это будет регистрировать foo, но:

$scope.passValues = function (param1){ 
    return param1; 
}; 
console.log($scope.passValues()); 

это я не понимаю, почему из-за:

$scope.passValues = function (param1){ 
     console.log(param1); 
     return param1; 
    }; 

будет вести журнал robert, который является coo rect при использовании в качестве passValues(item.firstName). Моя проблема связана со вторым примером, где мне нужна функция для правильного возврата значения param1, чтобы его можно было использовать позже в контроллере.

ответ

0

не уверен, почему понижение рейтинга этого был законным вопросом, и вот ответ, я думаю, что меня неправильно поняли или дали плохое объяснение.

мне пришлось использовать услугу, чтобы использовать param1 в другом контроллере:

первый контроллер:

$scope.passValues = function (param1){ 
     myservice.firstName = param1; 
}; 

служба:

.service('myservice', function() { 
}) 

Второй контроллер:

.controller('detail', 
    function ($scope, myservice) { 
     $scope.content = myservice.firstName; 

    }); 

, то на шаблоне {{content}} правильно отображает значение param1 (firstName).

3

Убедитесь, что передать значение вашей функции, в противном случае аргумент будет undefined

от контроллера

$scope.passValues('Robert') 

А с вашей точки зрения

<div> 
{{ passValues('Robert') }} 
</div> 
0

Я пришел к этому вопросу, когда пытался найти возможные причины scope(), чтобы вернуть undefined ...

в моем случае, я имел модуль myApp с MyController с $scope.reloadItems функции:

<div ng-app='myApp' ng-controller='MyController' id="myAngularApp"> 

JS файлы, которые я загружал для этого:

  • angular.min.js, ng-infinite-scroll.min.js
  • мой my_angular_app.js с определение моего модуля
  • и some_view.js, где я делал:

    $('#myAngularApp').scope().reloadItems(); 
    

Теперь scope() часто возвращается undefined, когда модуль не может быть создан или есть какая-то ошибка. В данном случае это было из-за порядок, в котором я загружен .js файлы, из-за которых: $('#myAngularApp').scope() был выполнен до my_angular_app.js имел шанс построить этот модуль ...

... так что в случае кто-то приходит сюда, как я, надеюсь, это поможет :)

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