2015-06-17 16 views
8

Przygotowałem prosty przykład z pop-up jonowym. Jednak po otwarciu popover, krycie pozostaje na zero, zapobiegając wyświetlaniu popover. Wiem, że wywoływana jest metoda openPopover, ponieważ otrzymuję dziennik konsoli opened w mojej konsoli internetowej. Jeśli usuniemy właściwość nieprzezroczystości z konsoli, wyświetli się popover.Popover nie wyświetla się po otwarciu

Mój kontroler ..

angular.module('search') 

.controller('SearchResultsController', searchResultsController) 

searchResultsController.$inject = ['$ionicPopover', '$scope']; 

function searchResultsController($ionicPopover, $scope) { 
    var vm = this; 

    vm.openPopover = openPopover; 

    activate(); 

    function activate() { 
    $ionicPopover.fromTemplateUrl('/templates/search/filter-popover.html', { 
     scope: $scope 
    }).then(function(popover) { 
     console.log(popover) 
     vm.popover = popover; 
    }); 
    } 

    function openPopover($event) { 
    console.log("opened") 
    vm.popover.show($event); 
    } 
} 

Moja strona widok ...

<ion-view hide-nav-bar="true"> 
    <signed-in-header></signed-in-header> 

    <ion-content class="padding has-header"> 
    <div class="row"> 
     <div class="col col-75 text-left"> 
     <div>4 RESULTS FOR "263355"</div> 
     </div> 

     <div class="col col-25 text-right"> 
     <div ng-click="searchResults.openPopover()"> 
      <i class="icon ion-arrow-down-b"></i> 
      Filter 
     </div> 
     </div> 
    </div> 
    </ion-content> 

    <ion-footer-bar> 
    Ad here 1 
    </ion-footer-bar> 
</ion-view> 

Mój szablon popover.

<ion-popover-view> 
    <ion-header-bar> 
    <h1 class="title">My Popover Title</h1> 
    </ion-header-bar> 
    <ion-content> 
    Hello! 
    </ion-content> 
</ion-popover-view> 

Dlaczego popover nie jest wyświetlany i jak mogę to naprawić?

+0

Ten sam numer tutaj. Wymyślasz rozwiązanie? – reptilicus

+0

W ng-click, należy przekazać parametr $ event do funkcji wywołującej. – CuriousMind

Odpowiedz

7

Zrobiłem kilka kopanie w jonowych CSS dla popover, a krycie jest domyślnie ustawione na 0. Możesz zmienić krycie na 1 i wyświetli się popover, ale znalazłem to: https://github.com/driftyco/ionic/issues/2343. Zasadniczo musisz zdać zdarzenie (wydarzenie $) na popover.show() i to zadziała. Przykład jonowy pokazuje to, ale dokumentacja może być bardziej wyraźna. W swoim kodzie zmień szablon na ng-click = "searchResults.openPopover ($ event)".

Powiązane problemy