angularjs从工厂返回数组
angularjs return array from factory
我正在尝试重构我的angular应用程序。因此,我引入了一个service.js文件,其中包含一个工厂服务。代码如下:
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;
});
在控制器中,我称之为:
$scope.dataTable = Categorien.populate();
因此dataTable期望一个数组,函数populate应该返回该数组。
我做错了什么,所以我希望你能帮我。
谢谢!
如果您只想进行筛选,我认为可以使用自定义筛选器。然后你的代码可以像下面的演示中那样。
如果您想使用工厂,您可以将数组传递给您的填充函数(如$scope.dataTable = Categorien.populate(['your', 'array', 'here']);
),也可以使用另一种方法将数据添加到工厂。如注释中所述,$scope
不应传递给工厂。
下面的演示(或在这个小提琴中)展示了它如何使用自定义过滤器:
angular.module('demoApp', [])
.controller('MainController', MainController)
.filter('categoryFilter', function() {
return function(input) {
var _categorien = [];
var bedragok = (function bedragOk(categorie) {
return categorie.bedragAf > 0;
});
var categorienFilter = input.filter(bedragok);
categorienFilter.forEach(function(item) {
var dataArray = [];
dataArray.push(item.omschrijving);
dataArray.push(item.bedragAf);
_categorien.push(dataArray);
});
return _categorien;
}
});
function MainController() {
this.data = [
{
bedragAf: 100,
omschrijving: 'test'
},
{
bedragAf: -100,
omschrijving: 'test neg. value'
},
{
bedragAf: 100,
omschrijving: 'test2'
}
];
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="demoApp" ng-controller="MainController as ctrl">
<pre>
raw:
{{ctrl.data | json : 2}}
filtered:
{{ctrl.data | categoryFilter | json : 2}}
</pre>
</div>
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回