TypeScript: как установить тип деструктурированного объекта?

Проблема

Например, параметр имеет следующий тип { component: any; element: ElementRef; }, из которого мне нужен только элемент:

onTextBoxInit({ element }) { }

Вопрос: Как я могу установить тип этого деструктурированного элемента?

Пробовал

Я подумал примерно так: onTextBoxInit({ element: ElementRef }) { }, но это не работает.


person Brampage    schedule 11.07.2018    source источник
comment
Единственный вариант - установить тип параметра onTextBoxInit({ element }: {element: ElementRef })   -  person Titian Cernicova-Dragomir    schedule 11.07.2018
comment
@ TitianCernicova-Dragomir о, лол, спасибо, это ответ, пожалуйста, отправьте его :)   -  person Brampage    schedule 11.07.2018
comment
Почему я не подумал об этом: s   -  person Brampage    schedule 11.07.2018
comment
Отправлено, из вашего вопроса я подумал, что это то, что вы не искали :-)   -  person Titian Cernicova-Dragomir    schedule 11.07.2018


Ответы (1)


Вам нужно указать тип аргумента после выражения деструктуризации

 onTextBoxInit({ element }: {element: ElementRef }){} 
person Titian Cernicova-Dragomir    schedule 11.07.2018
comment
Установка типа деструктурированного объекта внутри деструктурированного массива: ([{todoId}, _]: [{todoId: string}, void]) => todoId (например: при использовании оператора RxJS combLatest с параметрами и некоторыми другими предметами). - person Brampage; 17.07.2020