我有一个父子组件。子组件有模板变量,我想将它们读入父级。
父:
import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';
import {Page} from "ui/page";
import {ChildComponent} from '/components/child/child.component'
@Component({
selector: "parent",
template: "<child [List]="List"></child>",
directives: [ChildComponent]
})
export class ParentComponent implements OnInit {
// list contains selectable items (<a> tag in HTML)
@ViewChildren("item")
itemsList: QueryList<ElementRef>;
}
孩子:
import {Component, OnInit, ViewChild, Input} from '@angular/core';
import {Observable} from 'rxjs/Observable';
@Component({
selector: "child",
templateUrl: "components/child/child.html",
})
export class ChildComponent implements OnInit {
@Input() list: array;
.....
}
模板:child.html
<li *ngFor="let item of list" style="cursor: default;">
<a (click)="handleClick()" #item > item </a>
</li>
可以在父级中获取项目列表吗?
答案 0 :(得分:1)
您可以在嵌套组件之间传递数据。
如果要将数据从子节点传递到父节点,则可以使用事件发射器。
请参阅此文Passing data to and from a nested component in Angular 2