3 秒后自动关闭对话框 angular 5 个可观察值
closing a dialog box automatically after 3 seconds angular 5 observables
我有一个订阅会收到一个信号,当我的 html 中显示一个对话框的布尔值设置为 true 时。我希望对话框在 3 秒后自动消失。
我在使用订阅中的可观察对象时遇到问题。
this.updatedvolleyvar = this.venuevolly.receiveupdated()
.subscribe(
(req: any)=>{
if (req != null){
let stopcondition = false;
this.showupdated = true;
Observable.interval(3000)
.takeWhile(() => !stopcondition)
.subscribe(r =>{
this.showupdated = false;
stopcondition = true;
});
}
}
);
我想我需要创建一个可观察类型的对象,然后订阅它。我认为是 takeWhile
让我失望了。接下来我该做什么?
您可以按照更简单、我认为更正确的方式关闭对话框 - 使用常规 setTimeout
:
this.updatedvolleyvar = this.venuevolly.receiveupdated()
.subscribe((req: any) => {
if (req != null) {
let stopcondition = false;
this.showupdated = true;
setTimeout(() => {
this.showupdated = false;
stopcondition = true;
}, 3000);
}
});
没有必要把生活复杂化,简单的事情就简单的做。
我有一个订阅会收到一个信号,当我的 html 中显示一个对话框的布尔值设置为 true 时。我希望对话框在 3 秒后自动消失。
我在使用订阅中的可观察对象时遇到问题。
this.updatedvolleyvar = this.venuevolly.receiveupdated()
.subscribe(
(req: any)=>{
if (req != null){
let stopcondition = false;
this.showupdated = true;
Observable.interval(3000)
.takeWhile(() => !stopcondition)
.subscribe(r =>{
this.showupdated = false;
stopcondition = true;
});
}
}
);
我想我需要创建一个可观察类型的对象,然后订阅它。我认为是 takeWhile
让我失望了。接下来我该做什么?
您可以按照更简单、我认为更正确的方式关闭对话框 - 使用常规 setTimeout
:
this.updatedvolleyvar = this.venuevolly.receiveupdated()
.subscribe((req: any) => {
if (req != null) {
let stopcondition = false;
this.showupdated = true;
setTimeout(() => {
this.showupdated = false;
stopcondition = true;
}, 3000);
}
});
没有必要把生活复杂化,简单的事情就简单的做。