submit выполнялся метод myExtraLogic() и при этом нативно форма отправлялась
выработал два варианта
1)
<form ngNoForm action="mysite.com" method="GET" (submit)="myExtraLogic()">
2)
<form action="mysite.com" method="GET" (ngSubmit)="myExtraLogic($event)">
и в myExtraLogic
myExtraLogic({target} as HTMLFormElement) {
//my logic
target.submit()
}
какой вариант лучше и какие еще варианты есть?
А чем первый вариант плох то? Всё по учебнику, если работает, то и используй) П.С. Степа, всегда прав.
а зачем action и method?
ну да мне нативно надо форму отправить
тогда первый вариант) только он же редиректить будет, значит не нужно отлавливать submit
а вот мне надо логику свою выполнить + валидация формы не работает
ну тогда нативно не получится, а валидацию можно к ngModel прикрутить
это можно сделать без костылей? у меня много полей + есть свои асинхронные валидаторы навешанные по директиве
это я про валидацию
хз, ну валидация если есть, то должна работать, но надо тогда чекать через (submit), передавать туда ивент, если валидация не проходит, то вызывать .preventDefault() на ивенте, тогда не будет редиректить и слать запрос
звучит не очень...
ну по другому никак) это ж браузер шлет запрос и редиректит
ну мне тогда второй вариант больше нравится)
разница между ними только в том, что во втором варианте запускается сабмит через js, в первом тоже самое можно сделать
Обсуждают сегодня