我想使用' |' Angular 1 Filter表达式中的字符
updatePage(homeSegment) {
if (homeSegment === 'map') {
this.loadMap();
}
}
我可以使用哪种角色逃脱?我知道| character用于调用Filter,但是我想用它来连接两个属性" name'和' id'。
是的,我知道我可以在控制器中编写一个函数来连接这两个属性,但是如果有一种方法可以在表达式中执行此操作,那么我很感兴趣。
PS:过滤器地图和联接来自此仓库:https://github.com/a8m/angular-filter
更新:
在控制器中:
{{ ctrl.items | map: 'name|id' | join: ',' }}
在模板中:
ctrl.items = [{ name: 'ape', id:1 }, { name: 'john', id:2 }];
预期产出:
<input type='hidden' value="{{ ctrl.items | map: 'name|id' | join: ',' }}" >
答案 0 :(得分:2)
您必须创建自定义过滤器以形成您提到的值。
var app = angular.module('myApp', []);
app.filter('map', function() {
return function(input, propName) {
var prop = propName.split("|");
return input.map(function(item) {
return item[prop[0]] +"|"+ item[prop[1]];
});
};
});
然后输入文字为
<input type="text" value="{{(ctrl.items | map:'name|id').join(',')}}"/>
请找到工作的Plnkr Working Plnkr