De la liaison de données avec un angular-js ionique popup
Je vais avoir des problèmes bizarres que je n'arrive pas à trouver une explication.
- Je afficher un popup avec une seule entrée qui je suis de liaison à une variable dans mon champ, je dois passer le $champ d'application de la fenêtre contextuelle.
La liaison fonctionne et je peux voir que la variable est définie et il change comme je type. Mais dès que je ferme la pop-up et un journal que la portée de la variable sur le "robinet" fonction", il semble revenir à sa valeur d'origine.
EDIT: un stylo qui a démontré que la question générale:
http://codepen.io/anon/pen/ariDh
code:
var sendPopup = $ionicPopup.show({
title: $translate.instant(popupTitle),
subTitle: $translate.instant('POPUP_WITH_MESSAGE_SUBTITLE'),
templateUrl: 'templates/leave-message-popup.html',
scope: $scope,
buttons: [
{ text: $translate.instant('BUTTON_CANCEL') },
{
text: $translate.instant('BUTTON_SEND'),
type: 'button-positive',
onTap: function(e) {
console.log("contact message:" + $scope.contactMessage);
if (!$scope.contactMessage) {
console.log("preventing default");
e.preventDefault();
} else {
$scope.sendData(contactType);
}
}
},
]
});
modèle:
<input type="text" ng-model="contactMessage" name="message" placeholder="{{'PLACEHOLDER_CONTACT_MESSAGE' | translate}}" required autofocus>
{{contactMessage}}
OriginalL'auteur Yoav Schwartz | 2014-08-15
Vous devez vous connecter pour publier un commentaire.
Cette version modifiée de votre codepen indique ce de travail: http://codepen.io/anon/pen/rgBLa
La modification de la variable à un objet qui est sur la portée qui est transmis à la popup correctement le permet, pour ensuite être consolidés pour les contrôleurs de la portée en cas de changement. Cela est nécessaire en raison de la façon dont la portée est réussi lorsqu'il est passé à $ionicPopup.
Ensuite mis à jour le mark-up correctement, regardez cette propriété sur la portée.
J'espère que cela aide à résoudre votre problème.
J'ai le même problème. Vous ne pouvez pas résoudre $portée dans une usine et si vous passez un objet autre que $champ d'application de la popup ne fonctionne pas. Avez-vous réussi à résoudre ce problème?
usines/services n'ont pas accès à l' $champ d'application. Mais vous pouvez passer à l' $champ d'application dans la fonction en tant que paramètre de la factory/service de votre appel. J'ai mis un petit exemple ici: codepen.io/anon/pen/CEjIf j'espère que vous permet à la fois.
OriginalL'auteur Marc Harry