Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro: domInject.ts

Olá pessoal...

Ao iniciar a variável elemento no domInject.ts, recebo o seguinte erro:

'JQuery' só faz referência a um tipo, mas está sendo usado como valor no momento.ts(2693)

domInject.ts `export function domInject(seletor: string) {

return function(target: any, key:string){

    let elemento = JQuery; // erro aqui

    const getter = function(){

        if(!elemento){
            console.log(`Buscando ${seletor} para injetar em ${key}`);
            elemento = $(seletor);
        }

        return elemento;
    }

    Object.defineProperty(target, key, {
        get: getter
    });


}

}`

NegociacaoControllers.ts

import { domInject } from "../helpers/decorators/index";

import { Negociacoes, Negociacao } from "../models/index";
import { NegociacoesView, MensagemView } from "../views/index";

export class NegociacaoController {

    @domInject('#data')
    private _inputData: JQuery; //private _inputData: HTMLInputElement;    
} 

Além do mais, caso não queira usar JQuery, qual valor eu utilizaria para iniciar o elemento?!

Obrigado...

1 resposta
solução!

Oi John!

Na linha relacionada ao JQuery, você acabou utilizando o operador = que é de associação de valor em vez do de tipo :, então a declaração deveria ser

let elemento: JQuery;

Sobre a segunda dúvida, creio que pode-se atribuir o tipo HTMLElement em vez do JQuery, mas também seria necessário modificar todo código que utiliza as funções da biblioteca.

Espero ter ajudado! Qualquer outra dúvida pode postar aqui! :)