Экспортирование функции в Typescript. This as any

154
31 марта 2019, 11:00

Использую Typescript Strict Mode. Необходимо реализовать что-то похожее на это

export default function FOO(): any {
    let that = this
    that.foo = function(){
       return {
          view: "form",
          id: "sample",
          borderless: true,
          elements: []
       }
    }
    return {
        id: 'form_data_vehicle_owner',
        view: 'form',
        autoheight: true,
        elements: [
           that.foo, // foo не вызывается || this.foo рискуем потерять контекст
        ]
    }
}

Выпадает ошибка TS2683. Как можно изменить код? То что первое нагуглил https://stackoverflow.com/questions/48007891/ts2683ts-this-implicitly-has-type-any-because-it-does-not-have-a-type-ann?rq=1

Но я не понимаю как это применить к моему коду.

Answer 1

Проблема в данном случае не в том, что this имеет тип any, а в том, что это нигде не указано.

Чтобы это указать явно, нужно воспользоваться параметром this

export default function FOO(this:any): any {
READ ALSO
Javascript не взаимодействует с html

Javascript не взаимодействует с html

Есть кусок кода, который не хочет работать, при всем при этом он не выдает никаких ошибок - все, кроме него, работает, а он - нет

148
Чтение и вывод файла excel в браузере

Чтение и вывод файла excel в браузере

Изучаю frontend есть такой indexjs хочу в нем прочитать файл excel

156
maskedinput - Маска для email

maskedinput - Маска для email

Как определить маску email для вводимого поля с помощью этой библиотеки?

130