我有一个组件,看起来像这样:
from django.utils.html import format_html
class Model1Admin(admin.ModelAdmin):
def image_tag(self, obj):
return format_html('<img src="{}" />'.format(obj.image.url))
image_tag.short_description = 'Image'
list_display = ['image_tag',]
admin.site.register(Model1, Model1Admin)
我想将对@Component({
template: `
...
<child-component (childEvent)="onChildEvent()"></child-component>
`
})
export class ParentComponent {
onChildEvent() {
...
}
}
方法的调用转换为可观察的序列。
现在,如果有问题的方法是一些&#34; native&#34; DOM事件,例如点击,模糊等,我会使用onChildFinished
,但在这种情况下,这似乎不适用(因为没有涉及本机事件)。
唯一想到的是这样的事情:
Observable.fromEvent
似乎必须有一种更好的方法,因为如果涉及多个处理程序,维护这一点必须非常繁琐。
答案 0 :(得分:0)
你不只是想要一个EventEmitter
吗?
这些是这样创建的:
@Component({
template: `
<child-component (finished)="onChildFinished($event)"></child-component>
`
})
export class ParentComponent {
onChildFinished(data: number) {
//...
}
}
使用Output
的子组件。
@Component({
selector: 'child-component',
template : `hi`
})
export class ChildComponent {
@Output()
public finished: EventEmitter<number> = new EventEmitter<number>();
private _imFinishing(): void {
finished.emit(1);
}
}
也许我不理解你的问题,但这似乎是你想要的。