2014-10-31 9 views
6

Jak pokazać domyślnie ionicPopover, nie klikaj ani żadnego innego zdarzenia. Po załadowaniu strony lub widoku, pokaż popover?Jak domyślnie wyświetlać obiekt ionicPopover

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(); 
}); 

}) 

Odpowiedz

9

Byłeś bardzo blisko. Według oficjalnej dokumentacji IonicPopover, Składnia popover.show() jest następujący:

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

Stąd przepisanie kodu następująco będzie wykonać zadanie:

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

Kompletna przykład wzdłuż z kodem ->here

+0

tak, działa, bardzo dziękuję – user3117414

+0

Cieszę się, że pomógł @ user3117414. Jako odpowiedź proszę przyjąć moją odpowiedź. –

+0

Niestety: Uncaught Error: [jqLite: nosel] Wyszukiwanie elementów za pomocą selektorów nie jest obsługiwane przez jqLite! Zobacz: http://docs.angularjs.org/api/angular.element –

2

To działa bez konieczności włączania jQuery:

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

exemple który wykorzystuje jońskimi „utils” klas (tutaj 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); 
    }); 

Niezupełnie gorzej lub lepiej niż inne odpowiedzi. Po prostu unika się stosowania bezpośrednich zapytań DOM lub jQuery.

Tutaj chcę, aby popover zawsze był wyrównany z przedmiotem przy użyciu klasy .target-host-item-class.

Powiązane problemy