2014-12-02 25 views
0

我有以下幾點:在控制器設置角服務使用routeProvider

when('/admin/foo', { 
     controller: FooListCtrl, 
     templateUrl: 'frontend/partials/admin/foo-list.html', 
     resolve: { 
      aliasNames: ['printingService', function(printingService){ 
       return printingService.listArray(????); 
      }] 
     } 
    }). 

控制器:

function FooListCtrl($scope, Restangular, aliasNames) { 
    $scope.aliasNames= aliasNames; 
} 

的printingService:

app.service('printingService', [function() { 

return { 
    listArray: function(theArray) { 
     var result= "{"; 
     result += theArray.join(", "); 
     result += "}"; 
     return result; 
    } 
}; 
}]); 

林我的html頁面,我有一個ng-repeat,並且repeat中的每個對象都有一個數組,所以我想知道如何使用每個對象調用服務' s陣列。對NG-REPEAT將環比有一個數組,我需要每個數組傳遞到服務,例如對象:

<div ng-repeat="obj in objects">{{obj.names}}</div> 

如何通過每個obj.names到printingService?

+0

有一些非常奇怪的事情在你的代碼怎麼回事(以及描述)。什麼是數據的初始來源?還要注意,角度控制器不再支持全局功能,應該註冊爲模塊組件 – charlietfl 2014-12-02 05:08:25

回答

0

保存服務在你的控制器的範圍內引用,並從視圖中調用它:

JS: 功能FooListCtrl($範圍,Restangular,aliasNames,printingService){$ = scope.aliasNames aliasNames; $ scope.printingService = printingService; }

然後在HTML:

<div ng-repeat="obj in objects">{{printingService.listArray(obj.names)}}</div>