Я новичок в html и Angular2. Любая помощь в решении этой проблемы будет высоко оценена.Как закрыть Angular2 modal с булевым?
Я размещаю компонент формы внутри ng2-модального, и я хотел бы, чтобы модальная функция закрывалась, когда форма возвращает логическое значение из события.
Форма предназначена для добавления нового класса в базу данных. Его первое использование находится на другой странице, где он не находится внутри модального. Там, нажав на отмену/отправку в компоненте, я верну его true
, а затем перенаправляюсь на другой URL-адрес.
Для новой реализации я хочу, чтобы модальная функция закрывалась, когда форма возвращает true
. Проблема в том, что кнопки save/cancel находятся в компоненте, содержащем форму. Поэтому я не могу просто использовать событие click для модальности, чтобы закрыть его.
Вот мой текущий код:
<modal #addNewClassModal>
<modal-header>
<h4 class="modal-title"><i class="fa fa-cube"></i> Add a new class</h4>
</modal-header>
<modal-content>
<div>
<add-new-class (closeModal)="finishAddingNewClass($event)">
</add-new-class>
</div>
</modal-content>
</modal>
Моя проблема в том, что я не могу понять, как получить модальностей close()
метод полагаться на логическое значение. Я попытался поставить closeModal="addNewClassModal.close()"
в разных местах и переключиться на синтаксис, но его не работает, и я ничего не могу найти в Интернете.
Но разве это не испортит компонент для использования в первом случае, где он не содержится в модальном? Я пытаюсь импортировать тот же компонент для обоих случаев, потому что он будет необходим в нескольких местах на сайте. –
@ DónalFlanagan Это не будет, 'Input()' значения являются необязательными, а не обязательными. –
Это сработало! Я не понял, что события Input() не были обязательными. Теперь я просто называю это двумя разными способами. (1) ' add-new-class>' и (2) внутри модального ' add -new-class> ' Затем, когда пользователь нажимает _Cancel_, я вызываю метод' (click) = "onFinishAddingNewClass()" ', который выходит из модального в соответствии с типом ввода. –