Angular 以角度打印值和键?
我正面临一个问题,无法打印属性名Angular 以角度打印值和键?,angular,Angular,我正面临一个问题,无法打印属性名 array = [{name: 'name1', id: 1},{name: 'name2', id: 2}] <div *ngFor="let name of array"> <p>Name: {{name.name}}</p> // Hard coded here (Name:) </div> array=[{name:'name1',id:1},{name:'name2',id:2}] 名称:{{
array = [{name: 'name1', id: 1},{name: 'name2', id: 2}]
<div *ngFor="let name of array">
<p>Name: {{name.name}}</p> // Hard coded here (Name:)
</div>
array=[{name:'name1',id:1},{name:'name2',id:2}]
名称:{{Name.Name}}//此处硬编码(名称:)
如何在没有硬编码的情况下实现同样的功能。
我正在寻找这个,但每个人都建议使用管道来实现它
有其他的或简单的方法吗。?要实现此功能,可以使用通用函数检索给定值的对象键:
function getKey(obj, value) {
return Object.keys(obj).find(x=> obj[x] === value);
}
并在HTML中使用:
<div *ngFor="let obj of array">
<p>{{getKey(obj , obj.name)}}: {{obj.name}}</p>
</div>
{{getKey(obj,obj.name)}}:{{{obj.name}
您可以使用通用函数来检索给定值的对象键:
function getKey(obj, value) {
return Object.keys(obj).find(x=> obj[x] === value);
}
并在HTML中使用:
<div *ngFor="let obj of array">
<p>{{getKey(obj , obj.name)}}: {{obj.name}}</p>
</div>
{{getKey(obj,obj.name)}}:{{{obj.name}
我认为使用管道将是最好的选择,为什么您不想使用它们?您可以轻松地使用它们
<p *ngFor="let name of array">
<p *ngFor="let property of name | ObjNgFor">
{{ property }}: {{ name[property]}}
</p>
</p>
使用管道将是最好的选择,我想,为什么你不想使用它们?你可以很容易地使用它们
<p *ngFor="let name of array">
<p *ngFor="let property of name | ObjNgFor">
{{ property }}: {{ name[property]}}
</p>
</p>
对该属性的访问也是通过共享编码的:
{{{name.name}}
那么为什么它会让您如此烦恼呢?或者你想把它们都变成动态的?我想问的是,对于属性名是否有像{{name.name}}这样的简单语法对属性的访问也是通过harcode编码的:{{name.name}}
那么为什么它会让你如此烦恼呢?或者你想把它们都变成动态的?我想问的是,对于属性名是否有类似{{name.name}}的简单语法我会使用管道来避免冗余calculation@yurzui是的,这绝对是一个有效的替代方案。我仍然不明白这一点,因为您实际上还在函数调用中对属性名进行了harcode编码{{{getKey(obj,obj.name)}}
,为什么不写“名字”?但是OP可能知道他在做什么我会用管道来避免多余的calculation@yurzui是的,这绝对是一个有效的替代方案。我仍然不明白这一点,因为您实际上也在函数调用中对属性名进行了编码。{{getKey(obj,obj.name)}
,为什么不直接写“name”?但是OP可能知道他在做什么。。