2016-02-05 61 views
-1

我的離子應用程序上有一個日曆元素。當用戶向左或向右滑動時,它會進入不同的月份。一個問題/挑戰是當我向右側滑動顯示側欄時。不要在拖動離子上顯示側面菜單

我確實使用了drag-content="false",並且在任何地方禁用了滑動菜單功能,但我只希望它在該日曆元素上。

我發現this後#1用的答案,但我不明白它是如何工作,因爲我無法找到內容元素之間的任何差別。在那個崗位,他們也包含一個codepen鏈接到一個答案CODEPEN

UPDATE: Here a link to the calendar plugin

+0

Po可以複製[禁用滑動查看sidemenu時使用製表符](http://stackoverflow.com/questions/29128758/disable-swipe-to-view-sidemenu-when-using-tabs) –

回答

1

也許你可以drag-content指令綁定到範圍變量(布爾)和n將它的值當鼠標懸停在日曆組件:

<ion-side-menu-content drag-content="drag"> 

所以登記在日曆鼠標懸停/鼠標離開事件偵聽器:

<flex-calendar on-touch="mouseoverCalendar()" on-release="mouseleaveCalendar()" drag-content="toggledrag" options="options" events="events"></flex-calendar> 

,並在控制器中插入:

$scope.drag = true; 

    $scope.mouseoverCalendar = function() { 
    $scope.drag = false; 
    }; 

    $scope.mouseleaveCalendar = function() { 
    $scope.drag = true; 
    }; 

以下是使用Flex Calendar的示例:http://codepen.io/beaver71/pen/bEmaJZ

+0

這兩個函數都不會被觸發 – mbakker1996

+0

您正在使用哪種日曆組件? – beaver

+0

我添加了一個鏈接到日曆插件 – mbakker1996

0

將這個到您的日曆視圖的控制器,它會在菜單中,當你進入日曆和重新啓用你離開的觀點:

$scope.$on('$ionicView.enter', function(){ 
    $ionicSideMenuDelegate.canDragContent(false); 
}); 
$scope.$on('$ionicView.leave', function(){ 
    $ionicSideMenuDelegate.canDragContent(true); 
}); 

回答this post

+0

我只希望它在禁用元素 – mbakker1996