Ionique Modal pas d'ouverture (TypeError: Cannot read property 'montrer' undefined)?
Je fais un ionique + angularJs app pour Android pour être précis. Je ne sais pas pourquoi, mais dans mon ainsi nommé homeController
, à chaque fois que j'ai essayé d'appeler une fonction pour me montrer un $ionicModal
, il me donne une erreur...
TypeError: Cannot read property 'montrer' undefined à
La portée.$la portée.openModal (homeModule.js:18) nouveau
(homeModule.js:59) à l'Objet.invoke (ionique.bundle.js:11994) à
$get.prolonger.exemple (ionique.bundle.js:16247) à ionique.bundle.js:15502
au forEach (ionique.bundle.js:8155) à nodeLinkFn
(ionique.bundle.js:15501) à compositeLinkFn (ionique.bundle.js:14887) à
publicLinkFn (ionique.bundle.js:14766) à
IonicModule.le contrôleur.auto.appendViewElement (ionique.bundle.js:47324)
Mon contrôleur ressemble à ceci (le début de):
app.controller('homeController', function($scope, $ionicPopup, $state, $ionicLoading, $rootScope, $ionicModal, mapFactory){
//Load the modal from the given template URL
$ionicModal.fromTemplateUrl('templates/loginModal.html', function($ionicModal) {
$scope.modal = $ionicModal;
console.log($scope.modal);
}, {
scope: $scope,
animation: 'slide-in-up',
backdropClickToClose: false,
hardwareBackButtonClose: false,
focusFirstInput: true
});
$scope.openModal = function() {
$scope.modal.show();
};
$scope.closeModal = function() {
$scope.modal.hide();
};
J'ai déjà essayé de nombreuses façons différentes de faire la modale de l'ouvrir, le plus drôle, c'est, à chaque fois que je vais à une nouvelle $état, et revenir en arrière, il s'ouvre... Mais pas lorsque j'actualise la page. Aussi, j'ai fait un console.log($scope.modal)
pour voir si ma variable a été définie, et le résultat a été:
ionic.Utils.inherit.child {focusFirstInput: true, unfocusOnHide: true, focusFirstDelay: 600, backdropClickToClose: false, hardwareBackButtonClose: false…}$el: JQLite[1]animation: "slide-in-up"backdropClickToClose: falseel: div.modal-backdropfocusFirstDelay: 600focusFirstInput: truehardwareBackButtonClose: falsemodalEl: ion-modal-view.modalscope: ChildScopeunfocusOnHide: trueviewType: "modal"__proto__: ionic.Utils.inherit.Surrogate
Quelqu'un peut-il m'aider sur ce coup? Merci à l'avance.
OriginalL'auteur Bruno Duarte Brito | 2015-02-04
Vous devez vous connecter pour publier un commentaire.
L'erreur signifie
$scope.modal
n'a pas été créé - vous appel àfromTemplateUrl
n'est pas droit. Le deuxième paramètre est le modal options et vous êtes de passage un rappel.La documentation fournit un bon exemple.
Dans votre cas, l'appel à
fromTemplateUrl
devrait ressembler à ceci:Je crois que j'ai trouvé une solution temporaire, car je ne pense pas que c'est la meilleure pratique... j'ai eu l' $ionicModal pour l'ouvrir alors que j'étais encore en le définissant, à l'intérieur de l' .puis en fonction de ça... Mais je ne sais pas si il est préférable de faire cela
J'ai eu un problème similaire, parce que je n'avais pas d'ajouter le plugin: plugin cordova ajouter des github.com/VitaliiBlagodir/cordova-plugin-datepicker.git
OriginalL'auteur Brad Barber
Je pense que j'ai trouvé la solution. J'essayais d'ouvrir la modale de l'intérieur d'un if, dès que je l'ai enlevé de la "si", cela a fonctionné parfaitement bien. De toute façon, merci Brad.
OriginalL'auteur Bruno Duarte Brito