Je suis nouveau dans l'angulaire et tenter de mettre en œuvre cette solution dans mon projet. P>
Il a l'air douloureusement facile, cependant, j'essaie de faire cela dans un élément réutilisable afin que je puisse l'appeler de n'importe où et simplement transmettre le contenu à afficher (sinon, quel est le point?). < / p>
Alors, ma question spécifique est la suivante: supposer que j'ai déjà un contrôleur ou est-ce peut-être un mauvais exemple pour cette utilisation et dois-je regarder un autre? p> code> qui est lié à un élément DOM et qu'il a une fonctionnalité qui va et récupère des
usine code> > $ http code> appelez et sur la réponse, je souhaite informer l'utilisateur via cette boîte de dialogue de quelque chose, comment puis-je combiner * cette directive et * ce contrôleur avec mon existant et comment puis-je le faire d'une manière qui permet moi ensuite l'utiliser à nouveau à partir d'un contrôleur
totalement différent code>? p>
3 Réponses :
essayer d'utiliser ' bibliothèque NGDialog ' pour popup et modal. Très bonne bibliothèque. Plus tard, vous pouvez créer un service qui appelle en interne NGDialog Fonctions. Plus tard, ce service peut être injecté dans vos contrôleurs à utiliser. J'ai mis en œuvre cela dans un seul projet. p>
La fonction des services peut accepter des paramètres pour initialiser le modal NGDialog. p>
espère qu'il aide :) p>
Wow ... c'est absolument la voie à suivre! :-) Aucune idée de quelles sont les limitations, et je voudrais finalement obtenir la réponse à cette question spécifiquement (à propos de créer des éléments universellement accessibles), mais merci beaucoup pour cette pointe, une bibliothèque très utile.
Je n'utiliserais pas la bibliothèque 'Ngdialog' pour des fenêtres complexes. Cela ne permet pas de glisser et de redimensionnement. Dans mon projet, il a cassé l'animation. Parfois, il arrête de répondre à des clics sur des boutons jusqu'à ce que les recharges de la page du navigateur.
Pour ce faire mieux, je vous suggère de modifier le code pour regarder quelque chose ci-dessous
<modal-dialog modal-content='modalMsg' width='750px' height='90%'></modal-dialog>
Merci. Ma confusion tourne autour de la manière de rendre ce code universellement accessible à n'importe quel contrôleur. Comment puis-je lier cette directive à «SomalbatiraryController» et où dans le DOM, définissez-moi le
Oui, je crois que mon propre fournisseur est le seul moyen de le rendre universel. Je commence à envelopper ma tête autour de cela maintenant ... (lentement)
modalcontent code>) de son manette. Vous n'avez pas besoin de lier un contrôleur supplémentaire avec cela. Je ne suis pas sûr à 100% mais je suppose que vous recherchez quelque chose comme NG-Dialog comme dans les commentaires de max. Si tel est ce que vous avez besoin que vous souhaitez créer votre propre fournisseur docs.angularjs.org/guide/providers < / a> (en utilisant votre lien comme référence). Même chose est fait pour NG-Dialog
Comparé à d'autres options, ci-dessous compte tenu de l'approche minimaliste, en utilisant une usine forte> angulaire forte>. Voir un échantillon d'échantillon ci-dessous.
p>
var myModule = angular.module("mymodule", ['sharedmodule', 'ui.bootstrap', 'ui.bootstrap.tpls']);
myModule.controller('myController', ["$scope", "sharedService", "$window",
function ($scope, sharedService, $window)
{
$scope.showConfirm = function ()
{
sharedService.showConfirmDialog(
'Confirm!',
'Any unsaved edit will be discarded. Are you sure to navigate back?')
.then(function ()
{
$window.location = '#/';
},
function ()
{
});
};
}]);