angular - 角度动态关键对象评估
问题描述
您如何评估对象内的动态字符串键?
{{ row["emails.email"] }}
emails.email
动态来的。
emails.email
是一个字符串
像 ag-grid 一样,如果你在 json 中传递字段
{
"field": "emails.email",
"title": "Email",
},
Data Like
"emails": {
"is_primary": true,
"email": "dhiraj.pandya@ymail.com"
}
在渲染时,它将评估为电子邮件值。
解决方案
您可以创建一种方法来从路径的对象库中提取数据,如下所示
getData(o , path) {
let result =o;
for(let p of path.split('.')){
if ( result[p] == undefined) {
return null;
}
result = result[p]
}
return result
}
模板
{{getData(row,'emails.email')}}
这是管道版本
@Pipe({
name: 'getValue'
})
export class GetValuePipe implements PipeTransform {
transform(obj: any, path: string): any {
let result = obj;
for (let p of path.split('.')) {
if (result[p] == undefined) {
return null;
}
result = result[p]
}
return result
}
}
模板
{{data | getValue : fieldPath}}
推荐阅读
- oop - 为什么需要扩展对象?
- c# - 如何在 botframework V4 中的每个对话框上访问存储而不进行依赖注入
- android - 我收到错误未找到 id 0x7f09007c 的视图
- arrays - Angular-6:将字符串转换为自定义对象的数组
- css - 使用 Angular 7+ 和 Angular Material 更改占位符颜色?
- php - 我的字符串变成了一个字母数组
- phpmailer - 如何在正文中添加多个嵌入图像?
- java - 获取 LiveData 值以与其他 LiveData 值一起使用
- .htaccess - 使用 .htaccess 重定向保留原始 url 但显示重定向内容
- list - 将列表样式文本文件读入powershell数组