2017-06-01 46 views
1

我使用離子版本「1.1.0」和角版「1.4.3」離子酥料餅不隱藏第二次

我與離子酥料餅面臨的問題,我已經創建離子酥料餅掉HTML模板,酥料餅的是基於用戶操作打開的,我在彈出窗口上有兩個按鈕,並且在按鈕處理程序中,我正在編寫code => $ scope.popover.hide()來關閉彈出窗口,它在第一次正常工作時關閉,當再次彈出打開它沒有得到封閉

需要你的意見,並想知道如果我失去了一些東西

和隱藏方法的承諾,我第二次現在乾的狀態轉變,當我們點擊酥料餅的按鈕第二次,狀態轉換髮生,但酥料餅是沒有得到關閉

下面

是代碼片段我使用

$ionicPopover.fromTemplateUrl('app/layout/eo-confirmation-popup.html', { 
        scope: $scope, 
        backdropClickToClose: false 
       }).then(function (popover) { 
        $scope.dataLossPopover = popover; 
         $scope.dataLossPopover.show(angular.element(document.querySelector('.popupPosition'))); 
       }); 

和按鈕的點擊調用下面的代碼

$scope.dataLossPopover.hide().then(function() { 
      $state.go(...); 
     }); 

感謝, Mallik

回答

0

嘗試是這樣的

$ionicPopover.fromTemplateUrl('app/layout/eo-confirmation-popup.html', { 
        scope: $scope, 
        backdropClickToClose: false 
       }).then(function (popover) { 
        $scope.dataLossPopover = popover; 
       }); 


$scope.openPopover = function(event) { 
    $scope.dataLossPopover.show(event) 
} 
$scope.closePopover = function(event) { 
    $scope.dataLossPopover.hide(event).then({ 
     $state.go(); 
    }) 
} 

如果您在點擊

<button ng-click="openPopover($event)"></button> 
<button ng-click="closePopover($event)"></button> 
+0

嗨打開彈出窗口,我已經嘗試了上面的方法,它不工作,問題是,當我在密切酥料餅的按鈕,$ scope.dataLossPopover點擊。 hide()方法得到執行,並且控制來承諾隱藏方法,但是到了這個時候,理想的popover應該被隱藏起來,但是在我的情況下它並沒有被隱藏,並且隱藏方法promise部分中的代碼正在執行,導致狀態轉換,彈出窗口仍然保留在屏幕上。 –

+0

請檢查,您在某處做錯了,請嘗試按我的代碼顯示。將彈出窗口定義中的show方法寫出 –

+0

謝謝將show方法移出彈出窗口定義 –