【发布时间】:2017-04-21 21:22:42
【问题描述】:
我有一个父组件和一个子组件。我希望能够从父组件上的某个方法调用子组件上的某个子方法。 有没有办法在父类上获取对子组件实例的引用并调用子类的公共方法?
@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- 这些本地模板变量不会成为组件的属性(如您所见)。我在文档中找不到有关其范围的任何内容(而且我不想查看源代码)。看来他们的范围仅限于模板。
标签: angular typescript