Chaque entrée de cette page a la même forme : la compilation est verte, l'audit est propre, la console est muette, et l'écran est vide ou n'est pas ce que vous vouliez. Le compilateur ne peut pas voir ces erreurs parce que chacune est un programme valide qui décrit simplement un autre composant. Trouvez le titre qui ressemble à ce que vous voyez ; en dessous se trouvent la cause et le correctif.
Le nom dans view.tree et le nom de la méthode dans la classe diffèrent, le plus souvent par la casse : exchange_form dans l'arbre, exchangeForm dans la classe. Ce sont deux propriétés. Celle de la classe n'est jamais appelée, celle de l'arbre garde sa valeur par défaut, et rien ne le signale.Les noms sont en snake_case partout et doivent coïncider lettre pour lettre. Après avoir modifié un .view.ts, vérifiez que chaque redéfinition nomme encore une propriété existante ; le -view.tree/*.view.tree.d.ts engendré à côté de l'arbre est la liste à laquelle se comparer.
Ce sont des propriétés de $mol_string : hint pour le placeholder, enabled pour l'état désactivé, type pour le type de saisie. Définissez-les là où le champ est utilisé :1<= Password $mol_string2 hint \Password3 type \password4 enabled <= can_edit true5 value?<=> password?\Toute autre propriété de tout autre composant se trouve de la même façon : ouvrez son .view.tree, comme le montre Comment lire les sources.attr* sert aux vrais attributs DOM que le composant ne modélise pas déjà, et il a son propre piège : un bloc sans ^ en première ligne remplace tout le dictionnaire d'attributs de la base, si bien qu'un $mol_button écrit ainsi perd disabled, role et tabindex. Commencez le bloc par ^ pour hériter, puis ajoutez vos clés :1attr *2^3 data_kind \primary
Une chaîne a été passée là où une liste est attendue, et la chaîne a été étalée caractère par caractère. Les chaînes commencent par \, les listes par /. Le cas habituel est sub, qui est une liste :1sub /<= label \Hello
Une redéfinition est tombée du .view.ts. L'arbre donne à chaque propriété une valeur par défaut, donc quand la classe cesse de redéfinir rows(), TypeScript est satisfait et la liste se rend vide. Les tests qui ne vérifient que le modèle restent verts parce que le modèle, lui, va bien.Pour chaque redéfinition dont dépend l'écran, écrivez un test qui lit ce que voit l'utilisateur : rows(), sub(), title() des sous-vues, ou le DOM. Tests montre les deux.