我正在研究一個應用程序,以顯示不同環境下我們所有應用程序的內部版本號。Angular 2 Pipe沒有將數據返回到模板
我不得不爲了從我的數據模型中提取的版本號編寫自定義管道。
下面是數據模型的一個非常簡化版本:
[
{
"Name":"BP",
"Environments":[
{
"Name":"DEV",
"URL":"redacted",
"Build":"20160315.1\r\n"
},
{
"Name":"QA",
"URL":"redacted",
"Build":"20160311.3\r\n"
}
]
}
]
這裏是我計劃如何渲染數據以及使用管道:
<tr *ngFor="#app of apps">
<td>{{app.Name}}</td>
<td>{{app.Environments | build:"DEV"}}</td>
<td>{{app.Environments | build:"QA"}}</td>
<td>{{app.Environments | build:"UAT"}}</td>
<td>{{app.Environments | build:"PROD"}}</td>
</tr>
正如你所看到的我發送Environments
陣列爲每個應用到管道,以及作爲參數的字符串environmentName
。
我管看起來是這樣的:
export class BuildPipe implements PipeTransform {
transform(value: Array<Environment>, args: string[]) : any {
jQuery.grep(value, (b) => {
if (b.Name===args[0]) {
return b.Build;
}
})
}
}
它似乎將被完美的工作。它返回b.Build
當環境的名稱參數匹配,但它不顯示在我的模板。我錯過了什麼?
已檢查管道獲得實際叫什麼名字? –
它的確如此。我上了回線斷點權利,它返回 –
和你添加管道的參考? – micronyks