2014-10-31 3 views
6

Come mostrare ionicPopover per impostazione predefinita, non fare clic o nessun altro evento. Una volta caricata la pagina o la vista, mostra il popover?Come mostrare ionicPopover di default

cmr.controller('JoinMeeting', function($scope, $ionicPopover) { 
    $ionicPopover.fromTemplateUrl('joinMrTips.html', { 
    scope: $scope, 
}).then(function(popover) { 
    $scope.popover = popover; 
}); 

$scope.$on('$viewContentLoaded',function(){ 
    $scope.popover.show(); 
}); 

}) 

risposta

9

Eri molto vicino. Secondo la documentazione ufficiale del IonicPopover, La sintassi di popover.show() è la seguente:

show($event) where The $event or target element which the popover should align itself next to

Quindi, riscrivere il codice farà il lavoro nel modo seguente:

$scope.$on('$viewContentLoaded',function(){ 
    $scope.popover.show(".class-of-host-control-of-popup"); 
}); 

Complete Esempio, insieme con il codice di ->here

+0

sì, funziona, grazie mille – user3117414

+0

contento che ha aiutato @ user3117414. Per favore accetta la mia risposta come risposta. –

+0

Purtroppo: Errore non rilevato: [jqLite: nosel] La ricerca di elementi tramite selettori non è supportata da jqLite! Vedi: http://docs.angularjs.org/api/angular.element –

2

Questo funziona senza dover includere jQuery:

$scope.$on('$viewContentLoaded',function(){ 
    $scope.popover.show(angular.element(document.querySelector('.class-of-host-control-of-popup'))); 
}); 
1

Un esempio che usa ionici "utils" classi (qui, DomUtil):

var nodeClass = 'target-host-item-class'; 
    var evtTarget = $event.target; 
    var hostNode = ionic.DomUtil.getParentOrSelfWithClass(evtTarget, nodeClass); 

    $ionicPopover.fromTemplateUrl('popover-template.html', { 
     scope: $scope 
    }).then(function(popover) { 
     popover.show(hostNode); 
    }); 

Non proprio migliore o peggiore di altre risposte. Evita semplicemente l'uso di query DOM dirette o jQuery.

Qui, voglio che il popover sia sempre allineato all'elemento utilizzando la classe .target-host-item-class.