Arrays AngularJS从ng repeat中删除空值
我目前正在开发一个AngularJS web应用程序 我正在努力实现的目标:Arrays AngularJS从ng repeat中删除空值,arrays,angularjs,Arrays,Angularjs,我目前正在开发一个AngularJS web应用程序 我正在努力实现的目标: 使用ng repeat方法列出每个项并删除任何空值 正确-一、二、三、四 不正确-一、二、三、四、空(空ng重复项) 当前问题: 我已经尝试了几种方法来实现这一点,包括使用ng hide函数和创建数组过滤器,但我似乎都无法正常工作 任何帮助/建议都会有帮助 阵列 [ "One", "Two", "Three", "Four", null ] HTML: <md-list> <md-list
使用ng repeat方法列出每个项并删除任何空值 正确-一、二、三、四
不正确-一、二、三、四、空(空ng重复项) 当前问题:
我已经尝试了几种方法来实现这一点,包括使用ng hide函数和创建数组过滤器,但我似乎都无法正常工作 任何帮助/建议都会有帮助 阵列
[ "One", "Two", "Three", "Four", null ]
HTML:
<md-list>
<md-list-item class="md-3-line" ng-repeat="item in parseQ4P2 track by $index">
<div class="md-list-item-text">
<p>{{item}}</p>
</div>
<md-divider ng-if="!$last"></md-divider>
</md-list-item>
</md-list>
dashApp.filter('removeBlackItems', function() {
return function(inputArray) {
var outArray = [];
for (var i = 0; i < inputArray.length; i++) {
if(inputArray[i].length !== 0){
outArray.push(inputArray[i]);
}
}
return outArray;
};
});
.filter('emptyFilter', function() {
return function(array) {
var filteredArray = [];
angular.forEach(array, function(item) {
if (item) filteredArray.push(item);
});
return filteredArray;
};
}
{{item}}
筛选失败:
<md-list>
<md-list-item class="md-3-line" ng-repeat="item in parseQ4P2 track by $index">
<div class="md-list-item-text">
<p>{{item}}</p>
</div>
<md-divider ng-if="!$last"></md-divider>
</md-list-item>
</md-list>
dashApp.filter('removeBlackItems', function() {
return function(inputArray) {
var outArray = [];
for (var i = 0; i < inputArray.length; i++) {
if(inputArray[i].length !== 0){
outArray.push(inputArray[i]);
}
}
return outArray;
};
});
.filter('emptyFilter', function() {
return function(array) {
var filteredArray = [];
angular.forEach(array, function(item) {
if (item) filteredArray.push(item);
});
return filteredArray;
};
}
dashApp.filter('removeBlackItems',函数(){
返回函数(输入阵列){
var outArray=[];
for(变量i=0;i
您可以在ng repeat中过滤数据。
尝试以下内容:HTML:
.filter('emptyFilter', function() {
return function(array) {
var filteredArray = [];
angular.forEach(array, function(item) {
if (item) filteredArray.push(item);
});
return filteredArray;
};
}
控制器JS:
<md-list>
<md-list-item class="md-3-line" ng-repeat="item in parseQ4P2 track by $index">
<div class="md-list-item-text">
<p>{{item}}</p>
</div>
<md-divider ng-if="!$last"></md-divider>
</md-list-item>
</md-list>
dashApp.filter('removeBlackItems', function() {
return function(inputArray) {
var outArray = [];
for (var i = 0; i < inputArray.length; i++) {
if(inputArray[i].length !== 0){
outArray.push(inputArray[i]);
}
}
return outArray;
};
});
.filter('emptyFilter', function() {
return function(array) {
var filteredArray = [];
angular.forEach(array, function(item) {
if (item) filteredArray.push(item);
});
return filteredArray;
};
}
一个WSER URL-如中所示,不需要自定义过滤器。Ese angular的现有过滤器功能,用于从模板/视图中的数组中删除空对象
<ul ng-repeat="item in items| filter:{item:'!'} track by $index">
<li>{{item.name}}</li>
</ul>
- {{item.name}
为什么您的筛选器失败?你能给我一个到JSFIDLE的链接吗?可能是因为我使用的是Angular 1.4.4吗?我已经把这个项目上传到Git了-