Une interface ne peut pas être exporté dans angulaire à 2 module?
J'ai essayé d'exporter une interface dans un NgModule-déclaration d'exportation et d'obtenir cette erreur déjà dans l'éditeur de Code de Visual Studio): [ts] 'MyInterface' only refers to a type, but is being used as a value here.
Voici l'exemple de code Edit-1:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { MaterialModule } from '@angular/material';
import { MyInterface } from './my.interface';
import { MyService } from './my.service';
@NgModule({
imports: [ CommonModule, FormsModule, MaterialModule.forRoot() ],
declarations: [ MyInterface],//<- this is causing the message
exports: [ MyInterface],
providers: [ MyService ]
})
export class MyModule { }
Une partie de l'explication que j'ai trouvé dans la réponse à ce post: "depuis les interfaces sont effacées lors de l'exécution dans la Machine".
Je suis en train de refactoring mon application à des modules de fonctionnalités, donc je ne peux pas le tester dès maintenant: puis-je utiliser les interfaces que par l'importation de". /mypathto/ma.l'interface"?
Poster votre code. l'exportation et l'importation des interfaces fonctionne très bien ici.
Où voulez-vous l'utiliser? En tant que fournisseur?
Jetez un oeil à la documentation de angulaire.io/docs/ts/latest/guide/...
J'ai ajouté le code de l'exemple à la question. Merci @yurzui, votre lien est de répondre à la question: "Tapuscrit interfaces ne sont pas valides jetons".
Où voulez-vous l'utiliser? En tant que fournisseur?
I tried to export an interface in a NgModule-declaration
que voulez-vous dire?Jetez un oeil à la documentation de angulaire.io/docs/ts/latest/guide/...
J'ai ajouté le code de l'exemple à la question. Merci @yurzui, votre lien est de répondre à la question: "Tapuscrit interfaces ne sont pas valides jetons".
OriginalL'auteur Myonara | 2017-02-19
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas exporter une interface. Vous ne pouvez exporter qu':
NgModule
angulaire concept et ne doit pas être confondu avec un tapuscrit module. Pour faire une troisième partie, qui utilise un module de mesure d'utiliser votre interface, vous devez créer un.d.ts
fichier de définition avec votre module.Si vous souhaitez utiliser une interface à l'intérieur d'un autre NgModule de la vôtre, vous devriez utiliser:
Aussi, ne mettez pas une interface dans les déclarations de tableau, c'est uniquement utilisé pour les tuyaux/composants/directives.
Si vous voulez que votre interface pour être utilisable en dehors d'une bibliothèque, vous devez l'ajouter à l'exportation de votre
index.ts
:OriginalL'auteur PierreDuc
Bien en fait, vous pouvez exporter une interface, mais pas de la manière que vous essayez de faire.
D'abord générer les interfaces.ts fichier en tapant
ng g interface <interface_name>
Exemple de fichier d'interface:
Après avoir modifié le fichier de vos besoins, vous pouvez importer un seul, en tout ou choisi interfaces comme ceci:
ou
Si par hasard vous savez comment partager des interfaces à l'échelle mondiale pls. faites le moi savoir ici: Angulaire comment partager des interfaces dans l'application
OriginalL'auteur trojan