Llamar directamente desde JavaScript mecanografiado

votos
18

Acabo de descargar la documentación mecanografiado. Tengo algunas clases de JavaScript y me gustaría crear y utilizar estas clases en una aplicación de prueba mecanografiado

¿Cómo puedo llamar a una función JavaScript de un JavaScript incluido desde mecanografiado. No quiero crear un archivo d.ts. Sólo para crear mis clases, llamar a sus métodos, acceder a sus propiedades.

¿Cómo puedo hacer eso?


Estoy tratando de utilizar kendoUI con mecanografiado.

Por ejemplo para mostrar una ventana que tengo que hacer:

  1. Tener un HTML para representar el contenido de una ventana. Tengo un div con un logonDialog ID. Esta div
    se oculta inicialmente;
  2. Creo la ventana: logonDlg.kendoWindow (logOnParams);
  3. Luego, utilizando jQuery muestro el div: usando logonDlg.show();

Ejemplo

var logonDlg = $(logonDialog);

if (!logonDlg.data(kendoWindow)) {
   logonDlg.kendoWindow(logOnParams);
   logonDlg.show();
}

Se está trabajando bien. La JS se genera como yo quiero, pero recibo un error ya que la propiedad 'kendoWindow' no existe en el valor del tipo 'JQuery'.

¿Cómo puedo desactivar este tipo de error. No podía hacer, lo que dijo Ryan, a trabajar.

Publicado el 03/10/2012 a las 15:45
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
22

Si desea detener los errores sin hacer mucho trabajo otra cosa adicional, puede 'declarar' los objetos a partir de su código JS:

declare var w; // implicit type here is 'any'
// (later, anywhere in your file...)
var x = new w(); // you can do whatever you want with w now without getting errors
w.x = 4; // etc.
Respondida el 03/10/2012 a las 16:18
fuente por usuario

votos
8

Hay una solución mejor. Sólo emitir el jQuery logonDlg a cualquier así:

(<any>logonDlg).kendoWindow(logOnParams);

El código será un poco diferente, pero funcionará de la misma.

  1. Sin el elenco º código generado es así: logonDlg.kendoWindow (logOnParams);
  2. Con el reparto será la siguiente manera: (logonDlg) .kendoWindow (logOnParams);

Ambos funcionan bien.

Saludos

Respondida el 05/10/2012 a las 18:02
fuente por usuario

votos
5

Solo hazlo. Letra de imprenta no se detendrá. Verá advertencias en la salida del compilador, pero tscva a generar el archivo de JS bien.

Respondida el 03/10/2012 a las 15:50
fuente por usuario

votos
4

En este caso particular, usted podría incluir las definiciones de Kendo UI mecanografiado que Telerik proporciona.

(Me di cuenta que pregunta se hizo atrás cuando probablemente no existían las definiciones TS todavía, pero quería añadir este detalle para las personas que vienen a través de esta cuestión en el futuro.)

Respondida el 30/03/2015 a las 12:28
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more