La transmission des données entre le modal et le contrôleur
Comment puis-je rendre les données disponibles dans un contrôleur? J'ai créé un vraiment simple Plunk qui doit afficher les données sur le $scope dans une modal. Je vais donc avoir besoin de mettre à jour les données, et de mettre à jour uniquement $champ d'application en cliquant sur “ok”. En cliquant sur “annuler” pour annuler les modifications.
Mais avant d'en arriver à cette étape, j'ai besoin de faire de la marge de manœuvre disponible pour le modal. La plupart des exemples de deux contrôleurs. Ai-je besoin d'un autre contrôleur comme dans cet exemple: La transmission des Données à Twitter Bootstrap Modal Angulaire? Dans mon contrôleur, j'ai suivantes:
$scope.open = function(){
var modalInstance = $uibModal.open({
templateUrl: 'modal.html',
controller: 'ModalInstanceController',
resolve: {
users: function() {
return $scope.users;
}
}
});
};
Comment puis-je afficher les utilisateurs dans le modèle? Le plunk est ici: http://plnkr.co/edit/FuXjSwtljQtFYOtFRV18?p=preview
OriginalL'auteur Geraint Anderson | 2016-03-01
Vous devez vous connecter pour publier un commentaire.
Pour être en mesure d'accéder à portée de la manette vous avez besoin pour passer d'objet de l'étendue de la modale lors de la création d'une instance de celui-ci:
De cette façon Angulaire permettra de créer de l'enfant portée du contrôleur
$scope
de sorte que vous serez en mesure d'accéder à des éléments à l'intérieur de la portée des modaux:Démo: http://plnkr.co/edit/0m9oktX2JHFmeiaDfOpO?p=preview
OriginalL'auteur dfsq
Vous pouvez accéder à portée modal -
Votre accueil.
OriginalL'auteur Shailendra Singh Deol
vous pouvez le faire avec un seul contrôleur, c'est juste que c'est une "sale" solution, parce que les deux fichiers html partagent le même contrôleur, qui est potentiellement un problème.
le problème auquel vous êtes confronté, c'est que dans la modale vous n'avez pas défini
scope
, de sorte que leforeach (ng-repeat)
que vous faites n'est pas d'avoir un quelconque des élémentsvous pouvez y remédier facilement en changeant votre modal.html pour
comme vous le voyez, maintenant, ce modal a un contrôleur (le même que celui de la fenêtre principale) et auront donc un
scope
ou bien juste passer le champ d'application de la définition modale ajoutant
est sale, et que vous êtes "polluer" le champ d'application, mais il fonctionne 🙂
OriginalL'auteur JulioCT
Voici le code de mon projet actuel, il fonctionne comme prévu si vous souhaitez utiliser une ng-cliquez sur le modèle de votre fonction doit résider dans ModalInstanceController
OriginalL'auteur kay