[英]Use the pipe character in an Angular Filter expression
我想使用'|' Angular 1 Filter表達式中的字符
{{ ctrl.items | map: 'name|id' | join: ',' }}
我可以使用某種轉義字符嗎? 我知道 字符用於調用過濾器,但我想用它來連接兩個屬性“名稱”和“ id”。
是的,我知道我可以在控制器中編寫一個函數來連接這兩個屬性,但是我對是否有一種在表達式中執行此操作的方法感興趣。
PS:過濾器映射和聯接來自此倉庫: https : //github.com/a8m/angular-filter
更新 :
在控制器中:
ctrl.items = [{ name: 'ape', id:1 }, { name: 'john', id:2 }];
在模板中:
<input type='hidden' value="{{ ctrl.items | map: 'name|id' | join: ',' }}" >
預期輸出:
<input type='hidden' value="ape|1,john|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 工作的Plnkr
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.