Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 角度2,用于不迭代_Angular - Fatal编程技术网

Angular 角度2,用于不迭代

Angular 角度2,用于不迭代,angular,Angular,我有这个html: <div class="col-md-4" *ngFor="let category of categories"> <h3>{{category.name}} ({{category.links.length}})</h3> <div> <ul> <li *ngFor="let link of category.links"> <a href="" [h

我有这个html:

<div class="col-md-4" *ngFor="let category of categories">
  <h3>{{category.name}} ({{category.links.length}})</h3>
  <div>
    <ul>
      <li *ngFor="let link of category.links">
        <a href="" [href]="link.url" target="_blank">{{link.displayName}}</a>
      </li>
    </ul>
  </div>
</div>  
以下是相应的类型脚本:

constructor(private linkService: LinkService){
  this.linkService.getLinks().subscribe(p => {console.log(p); this.categories = p});
}
下面是类别和链接项的定义:

export class Category {
    name : string;
    links = new Array<LinkItem>();

    constructor(name:string)
    {
        this.name = name;
    }

    addLink(linkItem : LinkItem)
    {
        this.links.push(linkItem);
    }
}

export class LinkItem {
    url:string;
    displayName:string;

    constructor(url:string, displayName:string)
    {
        this.url = url;
        this.displayName = displayName;
    }
}
导出类类别{
名称:字符串;
links=新数组();
构造函数(名称:string)
{
this.name=名称;
}
addLink(linkItem:linkItem)
{
this.links.push(linkItem);
}
}
导出类链接项{
url:string;
显示名称:字符串;
构造函数(url:string,displayName:string)
{
this.url=url;
this.displayName=displayName;
}
}

类别转储:

根据您的
类别
对象结构,HTML应如下所示:

<div class="col-md-4" *ngFor="let category of categories">
  <h3>{{category.name}} ({{category.links.length}})</h3>
  <div>
    <ul>
      <li *ngFor="let link of category.links">
        <a [href]="link.url" target="_blank">{{link.name}}</a>
      </li>
    </ul>
  </div>
</div> 

{{category.name}}({{category.links.length})

根据您的
类别
对象结构,HTML应如下所示:

<div class="col-md-4" *ngFor="let category of categories">
  <h3>{{category.name}} ({{category.links.length}})</h3>
  <div>
    <ul>
      <li *ngFor="let link of category.links">
        <a [href]="link.url" target="_blank">{{link.name}}</a>
      </li>
    </ul>
  </div>
</div> 

{{category.name}}({{category.links.length})

我敢肯定,如果
类别中有
链接,这种方法就行了。你能在一个扑克牌中复制吗?浏览器控制台中有错误吗?没有,我的控制台中没有任何错误。当您使用
控制台时,您的
类别
对象结构是什么。记录
类别
。如果
元素中呈现了某些内容,您是否检查了devtools中的DOM?@ranakrunal9,Günter Zöchbauer查看我的最新帖子,我确信如果
类别中有
链接
;-),这会起作用。你能在一个扑克牌中复制吗?浏览器控制台中有错误吗?没有,我的控制台中没有任何错误。当您使用
控制台时,您的
类别
对象结构是什么。记录
类别
。如果
元素中呈现了某些内容,您是否检查了devtools中的DOM?@ranakrunal9,Günter Zöchbauer看到我更新的帖子了吗?我的服务代码中有一个错误。我正在循环处理json数据,但在列表中添加了错误的对象。因此,
name
displayName
之间存在错误,我的服务代码中有一个错误。我正在循环处理json数据,但在列表中添加了错误的对象。因此,
name
displayName