Nous avons été à l'aide de la Machine 2.2. Après la mise à jour 2.4, nous disposons maintenant de cette compilation:
erreur TS2345: l'Argument de type "typeof TopMenuController" n'est pas assignable à paramètre de type 'Injectable<IControllerConstructor>'. Type "typeof TopMenuController" n'est pas assignable à type '(chaîne | (nouveau (...args: aucun[]) => IController) | ((...args: aucun[]) => void | IController))[]'. Propriété de 'push' est absente du type "typeof TopMenuController'.
ts\controllers\TopMenuController.ts(2,18): erreur TS2559: Type 'TopMenuController' n'a pas de propriétés en commun avec le type 'IController'.
Je ne comprends pas la première erreur et Googler ça a été difficile. Je suis le seul à demander de l'aide à la première erreur. (Je suis la deuxième erreur à cause de mes tentatives pour résoudre le premier). Voici le contrôleur:
export class TopMenuController implements angular.IController {
static $inject = ["$templateCache", "Restangular"];
constructor(
private readonly $templateCache: angular.ITemplateCacheService,
private readonly restangular: Restangular.IElement) {
}
}
Et c'est de cette façon, il est inscrit.
angular.module("ngApp")
.config(Configuration.TemplateCacheConfigurator)
.controller("topMenuController", Controllers.TopMenuController)
Comment puis-je modifier mon contrôleur de définition ou de son enregistrement en sorte que notre code compile de nouveau?
(Suppression de l' implements angular.IController
bits supprime le deuxième message d'erreur, mais le premier reste)
Edit: j'ai trouvé ce bug