У меня есть родительский компонент и дочерний компонент. Я хочу, чтобы иметь возможность вызвать некоторый дочерний метод для дочернего компонента из некоторого метода в родительском компоненте. Есть ли способ получить ссылку на экземпляр дочернего компонента в классе родителя и вызвать общедоступные методы пользователя?Выполнить метод для дочернего компонента
@Component({
selector: 'child-component'
})
@View({
template: `<div>child</div>`
})
class ChildComponent{
constructor() {
}
doChildEvent() {
// some child event
}
}
@Component({
selector: 'parent-component'
})
@View({
template: `
<child-component #child></child-component>
`,
directives: [
ChildComponent
]
})
class ParentComponent {
private child:ChildComponent;
constructor() {
}
onSomeParentEvent() {
this.child.doChildEvent();
}
}
Я пробовал помещать хэш на ребенка в шаблон и ссылаться на него в классе, но не добился успеха.
'# child' - эти локальные переменные шаблона не становятся свойствами компонента (как вы обнаружили). Я не могу найти что-либо в документации об их охвате (и мне не хочется смотреть на исходный код). Кажется, что их рамки ограничены шаблоном. –