angular2 необходимо получить доступ к дочернему значению в родительском классе

Здесь мне нужно получить доступ к дочернему значению в родительском классе. Но я не могу этого понять. Если я использую директивы, отображается ошибка. Может ли кто-нибудь помочь мне отобразить дочерние значения в родительском компоненте и как дочернее значение можно проверить в реактивной форме?

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);
    }  
}

person Nikita Raturi    schedule 20.06.2017    source источник


Ответы (2)


Поскольку вы передаете значения через EventEmitter, вам необходимо передать его с помощью объявления дочернего компонента в parent.html.

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

И в функции под parent.ts:

 onSelect(select)
 {
    console.log(select.value);
 }
person The Hungry Dictator    schedule 20.06.2017
comment
я могу получить доступ к дочернему значению в родительском. Как проверить ‹browser (notify) = onSelect ($ event) [template] = coreActivity (onselect) = onselect ($ event)› ‹/browser› с помощью проверки формы реакции ?? ???? когда я пытаюсь выполнить проверку, выдает ошибку; ОШИБКА Ошибка: нет средства доступа к значению для элемента управления формы с именем: 'шаблон' - person Nikita Raturi; 20.06.2017
comment
Вы можете подробнее рассказать об этом? Если возможно, создайте для этого новую ветку - person The Hungry Dictator; 20.06.2017
comment

Чтобы получить доступ к child.html в родительском элементе, вам необходимо создать другой компонент и использовать это имя компонента в качестве тега в родительском элементе. например, имя компонента - "дочерний", оставьте <child></child> в родительском

person vishal paalakurthi    schedule 20.06.2017
comment
Здравствуйте, не могли бы вы предоставить более подробную информацию? Возможный код - person The Hungry Dictator; 20.06.2017