我正在研究一个应用程序,以显示不同环境下我们所有应用程序的内部版本号。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