Búsqueda de sitios web

visual studio - TypeScript 1.6 Ionic error TS2322 El tipo Build no se puede asignar al tipo 'IActionSheetOptions'


Actualicé Visual Studio 2015 a TypeScript 1.6 y mi aplicación Apache Cordova se rompió. Estoy recibiendo errores con cssClass de las opciones UIActionSheet de Ionic. Por ejemplo, la línea:

cssClass: "class_action_sheet"

resulta en el error: TS2322 Build Type no es asignable al tipo 'IActionSheetOptions'.

Intenté agregar un indicador al archivo del proyecto para suprimir la nueva estricta, pero o lo agregué mal, o no se puede arreglar de esa manera.

Cualquier ayuda sería muy apreciada.

Respuesta #1

Este es del mismo tipo de problema que se aborda aquí.

Esto parece ser una inversión de la premisa de 'compatibilidad de tipos', pero discutir eso no resolverá el problema.

La solución más fácil es asegurarse de que su archivo ionic.d.ts esté completo. Actualmente hay una versión en definitely typed que contiene una propiedad para cssClass en las opciones de la hoja de acción, sin embargo, no es un descendiente directo del archivo .d.ts que está utilizando actualmente y esto implicará algo de refactorización.

Por ejemplo, las opciones de la hoja de acción son ionic.actionSheet.IonicActionsheetOptions no Ionic.IActionSheetOptions.

Otra opción sería extender la interfaz por tu cuenta diciendo interface MyActionSheetOptions extends Ionic.IActionSheetOptions, luego definir cssClass.

Esto me parece incorrecto ya que no es un subconjunto verdadero, sino simplemente un intento de corregir lagunas en el archivo de definición de Ionic.