【发布时间】:2017-11-29 10:23:00
【问题描述】:
我尝试根据我的需要调整来自 ngx-chips 的工作示例。这是 onRemoving 方法示例的样子:
public onRemoving(tag: TagModel): Observable<TagModel> {
const confirm = window.confirm('Do you really want to remove this tag?');
return Observable
.of(tag)
.filter(() => confirm);
}
现在,我想使用具有 AskQuestion 方法的自定义组件而不是 windows.confirm,并具有以下签名:
AskQuestion(question: string, yesCallback: () => void, noCallback?: () => void): void {
所以现在我有多个回调,但 ngx-chips 组件希望我返回一个 observable。我尝试使用bindCallback 方法将回调转换为可观察对象:
public onRemoving(tag: TagModel): Observable<TagModel> {
const choiceCallback = (choice: boolean): TagModel=> {
if (choice)
return tag;
};
this.questionService.AskQuestion("Remove item?", () => choiceCallback(true), () => choiceCallback(false))
return Observable.bindCallback(choiceCallback);
}
但看起来我做错了。有什么想法吗?
【问题讨论】:
标签: javascript angular typescript rxjs