0
我試圖重構我的角度應用程序。因此我介紹了一個包含工廠服務的service.js文件。該代碼是這樣的:angularjs從工廠返回數組
app.factory('Categorien', function() {
var Categorien = {
populate: function() {
var _categorien = [];
var bedragok = (function bedragOk(categorie) {
return categorie.bedragAf > 0;
});
var categorienFilter = $scope.categorien.filter(bedragok);
categorienFilter.forEach(function(item) {
var dataArray = [];
dataArray.push(item.omschrijving);
dataArray.push(item.bedragAf);
_categorien.push(dataArray);
});
return _categorien;
}
};
return Categorien;
});
和Controller我稱這種由:
$scope.dataTable = Categorien.populate();
所以DataTable中預計的陣列功能填入應返回的。
我做錯了什麼,所以我希望你能幫助我。
謝謝!
你函數'bedragok' FN應該是'VAR bedragok =功能bedragOk( categorie){ return categorie.bedragAf> 0; };' –
Angular中的工廠/服務與控制器的「$ scope」沒有關聯。你這樣做時應該會出錯:'var categorienFilter = $ scope.categorien.filter(bedragok);'b/c $ scope是未定義的。你沒有真正描述你的問題中沒有什麼工作。 –
在angularjs工廠和服務是單身服務。但是'$ scope' - 範圍可以有多個實例。因此,你不應該在任何服務/工廠中包含'$ scope'。有關更多詳細信息,請參閱「https://docs.angularjs.org/guide/services」 - AngularJS文檔。 – Aviro