在AngularJS 2

时间:2016-08-17 17:44:32

标签: angular

我在AngularJS 2中有一个用例,其中有一个对象,其属性是一个键数组,如下所示:

export class Region {
    m49: string;
    parent: string;
    regions: string[];
    countries: string[];
    name: string; 
}

我有一个获取密钥的服务,并返回相应的对象:

@Injectable()
export class PlaceService {
    getRegion(m49: string) {
        ...
    }
    getCountry(iso: string) {
        ...
    }
}

我正在尝试构建一个显示区域信息的组件,然后列出子区域和国家/地区。这会正确显示区域和国家/地区密钥。

@Component({
    selector: 'places',
    template: `
<div>
  <h2>{{region.name}}</h2>
  <div>
    <h3>Regions</h3>
    <ul>
      <li *ngFor="let m49 of region.regions">{{m49}}</li>
    </ul>
  </div>
  <div>
    <h3>Countries</h3>
    <ul>
      <li *ngFor="let iso of region.countries">{{iso}}</li>
    </ul>
  </div>
</div>
`,
    providers: [ PlaceService ]
})

但我真正想做的是在循环中获取region和country对象,并显示它们的属性。如何调用组件类的方法来调用服务,并从<li>元素中检索对象?其次,如果相应的列表非空,我如何在两个子*ngIf元素上使用div仅包含它们?

1 个答案:

答案 0 :(得分:1)

调用组件方法执行此操作

public class files
    {
        public string product_name { get; set; }
        public string part_number { get; set; }
        public string quantity { get; set; }
    }

并且如果列表不为空则包括div执行此操作

{{ componentMethod() }}