我从Tomcat服务器获取数据。数据是JSON格式化为:
[
{name: "Smith",
address: [
{city: "LA"},
{city: "NY"}
],
firstName: "Rob"},
{/* Idem */}
]
我的一个控制器将这些数据设置为$scope.people
,它将我的视图绑定到带循环的表中。但是当地址数组为空时,一些原始数据不会出现。
如何用-
字符串替换每个空数组?这是否有过滤器?
答案 0 :(得分:2)
我会使用自定义过滤器来实现您想要的任何逻辑。
类似的东西:
<强> HTML 强>
<tr data-ng-repeat="hotel in names | myfilter:replaceWith">
<强> JS 强>
iApp.filter('myfilter', function() {
var replaceWith = 'none';
var replaceMe = function(value){
if(value === undefined){
return replaceWith;
}
return value;
};
return function( items, rw) {
var filtered = [];
replaceWith = rw;
angular.forEach(items, function(item) {
item.name = replaceMe(item.name);
item.firstName = replaceMe(item.firstName);
item.address = replaceMe(item.address);
filtered.push(item);
});
return filtered;
};
});
演示 Plunker
小心!已过滤的列表应具有与输入列表相同的项目结构。否则,您可以获得 10 $ digest()迭代。中止!的