#html #angular #typescript #filter #angular-material
#HTML #угловой #машинописный текст #Фильтр #angular-материал
Вопрос:
Прямо сейчас мое диалоговое окно открывается всякий раз, когда я открываю сайт, но мне просто интересно, как сделать так, чтобы диалоговое окно открывалось только в том случае, если notificationType равно 1.
Существует несколько типов уведомлений, и я хочу, чтобы диалоговое окно открывалось только в том случае, если notificationType равно 1, так как мне проверить внутри моего вызова getNotification?. любое предложение или помощь будут действительно оценены.
У меня может быть несколько типов уведомлений в моем вызове get, и я хочу найти весь индекс и проверить, есть ли какой-либо notificationType 1, и если есть, то показать диалоговое окно. Если во всем индексе нет notificationType 1, не показывайте диалоговое окно.
ngOnInit(): void {
this.notificationService.getNotification().subscribe((response: any) => {
this.broadcastText.next(response);
if(response amp;amp; response.length){
this.dialog.open(ReleaseDialogComponent, {
data : {notifications: response}
});
}
})
Комментарии:
1. … проверьте ответ и посмотрите, если
notificationType === 1
и если да, позвонитеthis.dialog.open
?2. Привет .. Я обновил свой вопрос и надеюсь, что теперь он более понятен. спасибо за ваш отзыв.
Ответ №1:
if(response amp;amp; response.length amp;amp; response[0].notificationType === 1)
должно сработать.
РЕДАКТИРОВАТЬ: на основе ответа, если вы хотите избежать выполнения ответа [0], и предполагая, что вам нужно открыть диалоговое окно, если notificacionType === 1 присутствует В ЛЮБОМ элементе ответа, вы можете сделать что-то вроде этого:
if(response amp;amp; response.length) {
// This will return true if notificationType === 1 is any response item
const shouldShowNotification = response.some(el => el.notificationType === 1);
if (shouldShowNotification) {
this.dialog.open(ReleaseDialogComponent, {
data : {notifications: response}
});
}
}
Если диалоговое окно все равно открывается, несмотря на notificationType, боюсь, у вас другая проблема.
Комментарии:
1. К сожалению, это не работает. по какой-то причине оно все еще показывает диалоговое окно. ;(. также как не делать response[0], потому что иногда я получаю несколько типов уведомлений за один вызов, и индекс 0 может быть notificationType 2, а индекс 3 может быть notifactionType 1 .
2. @AaseZi Это те важные детали, которые должны быть в вопросе…
3. @AaseZi Я обновил ответ, чтобы обрабатывать несколько уведомлений в ответ. К сожалению, если диалоговое окно все еще отображается, возможно, у вас возникла проблема с тем, как вы его вызываете
4. @RamiroP Это работает… Большое вам спасибо. очень признателен вам за вашу помощь. 🙂