angular2需要访问父类中的子值

时间:2017-06-20 04:28:02

标签: angular2-forms

在这里,我需要访问父类中的子值。 但我无法得到它。如果我使用指令它显示错误。 有人可以帮助我在父组件中显示子值以及如何以反应形式验证子值吗?

parent.html:

<browser  [template]="coreActivity" (onselect)="onselect($event)" ></browser>

parent.ts:

 onselect(select: any)
 {
    console.log(select.value);
 }

child.html:

<md-grid-list cols="3" rowHeight="100px">
    <md-grid-tile *ngFor="let core of template" (click)="selectcore(core)">
       {{core.value}}
     </md-grid-tile>
</md-grid-list>

child.ts:

@Component({
  selector: 'template-browser',
  templateUrl: './template-browser.component.html',
  styleUrls: ['./template-browser.component.css']
})
export class TemplateBrowserComponent implements OnInit {
  @Input() template;

  @Output() notify: EventEmitter<string> = new EventEmitter<string>();  
  constructor(private community: CreateCommunityComponent ) { }  
  selectcore(core: any) {
      // alert(core.value);
      this.notify.emit(core.value);
    }  
}

2 个答案:

答案 0 :(得分:0)

要访问父级中的child.html,您需要创建另一个组件,并将该组件名称用作父级中的标记。 像组件名称是&#34; child&#34; 将<child></child>保留在父

答案 1 :(得分:0)

当您通过EventEmitter传递值时,您需要在parent.html中使用子组件声明传递它。

<browser (notify)="onSelect($event)"  [template]="coreActivity" (onselect)="onselect($event)" ></browser>

parent.ts:

下的功能中
 onSelect(select)
 {
    console.log(select.value);
 }