angular * ngIf - проверить, указан ли массив в указанном c индексе, равном нулю - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу проверить, не является ли массив в указанном c индексе ненулевым. Это мой код:

    *ngIf="routeService?.selectedPlaces?[index]!=null"

'routeService' - это сервис, который компонент получает в своем конструкторе, а 'selectedPlaces' - массив в сервисе. 'index' - это свойство компонента.

Я получил эту ошибку:

    main.ts:13 Error: Template parse errors:
    Parser Error: Conditional expression routeService?.selectedPlaces?[index]!=null requires all 3 
    expressions at the end of the expression [routeService?.selectedPlaces?[index]!=null] in 
    ng:///PlaceAutocompleteFromDBComponent/template.html@5:29 ("-field class="example-full-width">

Как я могу проверить это?

1 Ответ

3 голосов
/ 26 апреля 2020

В Typescript синтаксис elvis operator равен ?. Во втором случае вы использовали только ?, что недопустимо. Вам нужно использовать

*ngIf="routeService?.selectedPlaces && routeService.selectedPlaces[index]"
...