2014-02-20 3 views
1

Почему функция getPrice('Table') не работает в контроллере? Он возвращает undefined вместо 400. Это вполне работает в простой JS (без $scope).

function MyCtrl($scope) { 

$scope.prices = [{ 
    name: 'Bed', 
    price: 900 
}, { 
    name: 'Table', 
    price: 400 
}]; 


$scope.getPrice = function (name) { 
    $scope.prices.forEach(
    function (el) { 
     if (el.name == name) { 
      return el.price; 
     } else { 
      return null; 
     } 
    } 
    ); 
} 
}; 
+1

$ scope.getPrice не имеет оператора возврата, поэтому он ничего не возвращает. – michael

ответ

0

Функция getPrice ничего не возвращает. Попробуйте это:

$scope.getPrice = function (name) { 
      $price = null; 
      $scope.prices.forEach(
        function (el) { 
         if (el.name == name) { 
          $price = el.price; 
          return; 
         } else { 
          return; 
         } 
        } 
      ); 
      return $price; 
     } 
Смежные вопросы