Je vais vous raconter une idée, mais je ne l'expliquerai pas en détail, car je n'aime pas tendre la main aux autres... Je vais vous donner le plan, utilisez au moins votre cerveau pour y réfléchir il.
Tout d'abord, le code suivant n'utilise pas le $modal de ui-bootstrap, mais le $modal de ng-strap. La raison est que je pense que la qualité du code de ce dernier est meilleure que celle du premier, mais ce dernier est relativement nouveau. et l'API n'est pas aussi bonne que l'ancienne. Parfaite, vous devez donc avoir de solides compétences pratiques, mais cela n'a rien à voir avec l'expansion du service $modal dont je parlerai ensuite.
Deuxièmement, vous devez prendre en compte ces problèmes avant d'étendre un service public $modal :
Que peut-on réutiliser ? Lesquels doivent être (éventuellement) spécifiés à nouveau à chaque fois ? (modèles, paramètres, méthodes, etc.)
Quelle est la méthode d'appel attendue ? À quoi ressemble le résultat du retour ?
Quelle est la hauteur des exigences en matière d'évolutivité et de flexibilité ?
Il n'y a pas de réponse claire à ces questions au début, mais vous devez simuler une réponse dans votre esprit, car elle déterminera comment rédiger votre service.
La première étape consiste à préparer les paramètres par défaut ; ce sont les paramètres fournis par le $modal d'origine. Définissez d'abord un état initial (selon vos propres besoins)
Étape 2 : Écrivez le code d'extension de propriété du nouveau service afin que le nouveau service puisse avoir les mêmes capacités d'extension de propriété que le $modal d'origine
Ensuite, il y a la définition de ConfirmModal, qui renvoie finalement $promise, afin que l'appelant puisse élargir sa logique métier ; j'ai ajouté quelques commentaires sur les points clés, et le reste peut être compris par vous-même :
Je vais vous raconter une idée, mais je ne l'expliquerai pas en détail, car je n'aime pas tendre la main aux autres... Je vais vous donner le plan, utilisez au moins votre cerveau pour y réfléchir il.
Tout d'abord, le code suivant n'utilise pas le $modal de ui-bootstrap, mais le $modal de ng-strap. La raison est que je pense que la qualité du code de ce dernier est meilleure que celle du premier, mais ce dernier est relativement nouveau. et l'API n'est pas aussi bonne que l'ancienne. Parfaite, vous devez donc avoir de solides compétences pratiques, mais cela n'a rien à voir avec l'expansion du service $modal dont je parlerai ensuite.
Deuxièmement, vous devez prendre en compte ces problèmes avant d'étendre un service public $modal :
Il n'y a pas de réponse claire à ces questions au début, mais vous devez simuler une réponse dans votre esprit, car elle déterminera comment rédiger votre service.
La première étape consiste à préparer les paramètres par défaut ; ce sont les paramètres fournis par le $modal d'origine. Définissez d'abord un état initial (selon vos propres besoins)
.Étape 2 : Écrivez le code d'extension de propriété du nouveau service afin que le nouveau service puisse avoir les mêmes capacités d'extension de propriété que le $modal d'origine
Ensuite, il y a la définition de
ConfirmModal
, qui renvoie finalement $promise, afin que l'appelant puisse élargir sa logique métier ; j'ai ajouté quelques commentaires sur les points clés, et le reste peut être compris par vous-même :Instance d'appel :
Pour les modèles, référez-vous simplement au $modal original et réécrivez-le vous-même. Le code est disponible sur github, c'est tout.