2015-07-15 5 views
0

Я столкнулся со странной проблемой в своем коде. Мне нужно передать объект функции и назначить возвращаемый объект.Как вернуть объект из функции в моем случае?

В моем коде.

$scope.items.filter(function(item) { 
    item = getName(item) 
    console.log(item) -> I can see item.name exist. 
}) 

var getName = function(item) { 
    var id = item.id; 
    switch (id){ 
     case 1: 
      item.name = 'new'; 
      return item; 
     break; 
     case 2: 
      item.name = 'used';   
      return item; 
     break; 
     case 3: 
      item.name='junk'; 
      return item; 
     break; 
     default: 
    } 
} 

HTML

<div ng-repeat="item in items"> 
    {{item.name}} ------> doesn't show anything.... 
</div> 

Я не знаю, почему он не показывает никакой ценности в HTML. Может ли кто-нибудь мне помочь? Большое спасибо!

+0

http://jsfiddle.net/arunpjohny/mdgvau9m/1/ - отлично выглядит –

+0

Вы не занимаетесь фильтрацией массива ... просто итерация его так использует '.forEach()' - http: // jsfiddle.net/arunpjohny/mdgvau9m/1/ –

ответ

0

Вы пытались назначить свой $ scope внутри функции getname?

var getName = function(item) { 
 
    var id = item.id; 
 
    switch (id){ 
 
     case 1: 
 
      $scope.item.name = 'new'; 
 
      break; 
 
     break; 
 
     case 2: 
 
      $scope.item.name = 'used';   
 
      break; 
 
     break; 
 
     case 3: 
 
      $scope.item.name='junk'; 
 
      break; 
 
     break; 
 
     default: 
 
    } 
 
}

Я не могу проверить это на данный момент, но дайте мне знать, как вы получите на.

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