#angular #typescript #angular-forms
#угловой #typescript #угловые формы
Вопрос:
Используя Angular 11, пытаюсь создать форму, управляемую шаблоном. Файл ts содержит следующий код
submit(xyz){
var firstName = form.firstName;
console.log(firstName);
}
ИТАК, я получаю ошибку
error TS7006: Parameter 'form' implicitly has an 'any'
type.
submit(xyz){
Комментарии:
1. скорее всего, вы активировали строгие проверки (и это хорошо, что вы это делаете). чего вы не сделали, так это не указали тип для xyz. это должно быть что-то вроде
submit(xyz: MyType)
. или, если быть более конкретным: каждая переменная, которую вы определяете, должна иметь тип. ошибка говорит о том, что форма была определена без нее, я полагаю, это поле уровня класса.2. @MarkusDresch Я отредактировал type на ‘any’, и теперь он говорит TS2531: Объект, возможно, ‘null’.
3. Пожалуйста, поделитесь всем соответствующим кодом компонента. Как вы инициализируете объект
form
-object? Какой типxyz
? Какой типform
?4. объект, который, возможно, имеет значение null, должен быть проверен на нуль в строгом режиме.
Ответ №1:
Просто дайте функции и параметрам тип, подобный:
submit(xyz: object): void {
...
Это просто typescript, который очень внимательно относится к вашим типам. Это не ошибка. Просто предупреждение.
Комментарии:
1. он не компилируется. Я добавил выше, и это дает TS2531: Объект, возможно, ‘null’. как ошибка
2. Попробуйте добавить тип
any
прямо сейчас. Это может скомпилироваться.