[英]How correctly get a change of the child component of the parent?
我具有以下构造的嵌套组件:
app.parent.component > app.container.component > app.containeritem.component
例如:
app.parent.component
import ...
@Component({
selector:'parent',
template: '<container></container>,
....
})
app.container.component
import ...
@Component({
selector: 'container',
template: '<containeritem></containeritem>',
...
})
app.containeritem.component
import ...
@Component({
selector: 'containeritem',
template: `<ul><li draggable="true"(dragend)="update.emit($event)">lorem</li></ul>`
...
})
在app.child.component
内部,我发出拖动动作。 那么,如何才能正确获取app.parent.component中的app.containeritem.component的动作数据?
您只需将事件与Output
和EventEmitter
:
app.parent.component
import ...
@Component({
selector:'parent',
template: '<container (onDrag)="doSomething($event)"></container>,
....
})
export class ParentComponent {
doSomething(event) {
console.log(event);
}
}
app.container.component
import ...
@Component({
selector: 'container',
template: '<containeritem (onDrag)="onDrag.emit($event)"></containeritem>',
...
})
export class ContainerComponent {
@Output onDrag: EventEmitter = new EventEmitter();
}
app.containeritem.component
import ...
@Component({
selector: 'containeritem',
template: `<ul><li draggable="true"(dragend)="onDrag.emit($event)">lorem</li></ul>`
...
})
export class ContainerItemComponent {
@Output onDrag: EventEmitter = new EventEmitter();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.