Свойство не существует для типа при использовании ngModel - PullRequest
0 голосов
/ 30 сентября 2019

Я использую ngModel, чтобы установить значение элемента HTML. Как я могу получить доступ к свойству нужного объекта без получения ошибки Property does not exists on type?

Обычно вместо использования data.title я бы использовал data['title'] или (data as any).title. Оба не работают с [(ngModel)], поскольку они вызывают другую ошибку.

В дополнение к этому я не могу использовать оператор safe / elvis, хотя он мне нужен.

Мой обходной путь следующий: [(ngModel)]="data && data.title"

Как решить обе проблемы?

Редактировать: data - это объект, свойства которого устанавливаются после асинхронной загрузки данных из Firebase. Он определяется data:object = {}; После этого существует свойство title.

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

Называй меня глупым.

Я обнаружил, что сделал не так:

Я использовал data[title] вместо data['title']

0 голосов
/ 30 сентября 2019

Вы можете использовать ngModel для установки и получения обоих значений.

HTML

    <input [(ngModel)]="username">
    <button (click)="getValue()">Get Value</button>

TS

    username: any;

    setValue() {
       this.username = "Deepika";
    }

    getValue() {
       console.log('username is -->', this.username)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...