2016-02-05 72 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