Créer une instance à l'aide d'une interface
Dans mon Angulaire 2 Tapuscrit de l'application, j'ai défini une interface plutôt qu'une classe pour permettre à des paramètres facultatifs.
Pour autant que je sais, je devrais quelque part implémenter l'interface par:
à l'exportation de la classe maclasse implements myInterface { ... }
et puis instancier via new(...)
.
Je me demandais si c'est la bonne façon de le faire (dans Angulaire 2) ou il y a un plus simple /meilleure façon?
Aussi, où dois-je mettre de la mise en œuvre, dans le composant (.ts) où je l'utilise, où l'interface est ou d'où?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire de cette façon. Vous pouvez également vous suffit de créer un objet qui implémente l'interface comme:
Si vous voulez utiliser une classe, vous pouvez le mettre où vous voulez. Si elle est étroitement couplé avec le composant, vous pouvez le mettre là. En général, cependant, je veux classes à couplage lâche, alors je les ai mis dans leur propre fichier.
const bar = { one: 5, two: "hello" } as foo
qui est légèrement différent, car il permet de propriétés supplémentaires au-delà de celles définies par l'interface. (Je suis juste de le signaler ici par souci d'exhaustivité - l'bar: foo
syntaxe est la bonne chose, sauf si vous avez besoin d'autres propriétés, car il fournit la plus stricte de validation.)- Je utiliser de cette façon
puis
Vous pouvez effectuer les opérations suivantes:
Ensuite instancier:
C'est la façon dont je le fais dans mon code au moins.
c'est mieux pour moi. vous pouvez exporter interface de modèle de fichier et les importer dans tous les composants nécessaires.