Je regardais les docs et je me suis perdu.
ng generate interface <name> <type>
Cependant, il ne dit pas quoi mettre pour le type. Comme est-ce juste une chaîne, un objet, un tableau, etc. ou puis-je spécifier des propriétés comme email:String username:String age:Number
?
ng générer générera
nom_fichier <name>.<type>.ts
contenu:
export interface <name> { //camel case
}
c'est à dire
ng generate interface Itest sometype
génère nom de fichier itest.sometype.ts
contenu
export interface Itest {
}
Vous devez utiliser la nouvelle console Angular qui, pour une raison quelconque, nécessite un "type", même s'il ne s'agit que d'une option développeur. J'utiliserais simplement "données", ou "méthode", ou "multi" si elle contient à la fois une structure de données et des méthodes. Je ne pense pas que cela se réfère à la propriété de type de données (nombre, booléen, etc.). IMO, cela ne devrait pas être nécessaire dans la console Angular. Dans votre cas, j'utiliserais probablement "data", en lui donnant un capital que je nomme par convention, et si vous avez besoin ultérieurement d'une interface pour une méthode, créez une interface séparée. Regardez également dans quel répertoire il se trouve lorsque vous utilisez Angular Console. Par exemple. Je veux une interface pour les données des voitures - dans la console Angular, il s'agirait du nom "Icars", du type de données "data", et crée donc icars.data.ts et avec ce contenu export interface Icars {}
.
De Angular docs à: https://angular.io/cli/generate
ng génère une interface [options] ng g une interface [options] Crée une nouvelle définition d'interface générique dans le projet donné ou par défaut.
Arguments ARGUMENT DESCRIPTION Nom de l'interface.
Ajoute un type défini par le développeur au nom de fichier, au format "Nom.type.ts".
ng generate interface fruit
génère
fruit.ts
qui contient l'interface
export interface fruit {}
Ainsi :
interface GraphDatas {
firstTemperature: Period
internalTemperature: {
min: number;
max: number;
};
secondTemperature: Period;
thresholdAlerts: Threshold;
}
interface Period {
currentPeriod: number;
previousPeriod: any; // TO DO
}
interface Threshold extends Period {
hasBeenRead: number;
}
Vous devrez ensuite exporter l'interface que vous souhaitez utiliser dans votre fichier TypeScript:
export interface test{
listComputedDatas: GraphDatas;
}
Et dans votre code:
import {test} from './pathToInterface';
...
randomProperty: test;
// TypeScript should detect properties such as
// randomProperty.listComputedDatas.internalTemperature.min
EDIT: Vous serez plus rapide à créer votre propre fichier manuellement que de faire la commande angular-cli
...