Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 以角度打印值和键?_Angular - Fatal编程技术网

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可能知道他在做什么。。