禁止使用刷卡时卡查看sidemenu [英] Disable swipe to view sidemenu when using tabs
问题描述
我正在写一个小程序离子,并有一个问题。我使用的是sidemenu,也是标签。我有我的观点之一的离子幻灯片中,当我擦拭从左至右侧面菜单滑出此slidebox。我已经通过离子论坛各项相关主题的阅读,但没有工作过。
我试着加入拖含量=false的
各种标签,也加入 $ ionicSideMenuDelegate.canDragContent(假);
我的控制器。
但是都没有成功。我想这是因为我使用的是sidemenu,在选项卡的标签和视图。我的继承人code:
index.html的
<离子侧菜单> <! - 标题栏 - >
<离子侧面菜单内容NG控制器=NavCtrl拖含量=false的>
<离子导航栏类=扎阳>
<离子NAV-后退按钮类=按钮图标离子ios7箭头回>
< /离子NAV-后退按钮>
< /离子导航栏> <! - 页面内容 - >
<离子NAV-视图中拖动内容=false的动画=滑 - 左 - 右>< /离子NAV-视图>
< /离子侧面菜单内容> <! - 侧菜单 - >
<离子侧面菜单侧=左级=侧面菜单>
<离子头吧级=酒吧酒吧标题栏暗>
< H1类=标题>菜单< / H1>
< /离子头吧>
<离子含量有头=真正的> < DIV NG-IF =authData.twitter级=已登录的用户逐项-阿凡达>
< IMG NG-SRC ={{authData.twitter.cachedUserProfile.profile_image_url}}/>
< H2>您好,{{authData.twitter.displayName}}< / H>
< P>通过Twitter和LT已登录; / P>
< / DIV> < DIV NG-IF =authData.facebook级=已登录的用户逐项-阿凡达>
< IMG NG-SRC ={{authData.facebook.cachedUserProfile.picture.data.url}}/>
< H2>您好,{{authData.facebook.displayName}}< / H>
< P>通过Facebook和LT已登录; / P>
< / DIV> < UL类=清单>
<立GT;
<一类=项项图标左菜单关闭导航清晰的href =#/场地>
< I类=图标离子ios7地点>< I&GT /;地点
&所述; / A>
< /李>
<立GT;
<一类=项项图标左菜单关闭导航清晰的href =#/午餐>
< I类=图标离子比萨>< / I>午餐
&所述; / A>
< /李>
<立GT;
<一类=项项图标左菜单关闭导航清晰的href =#/ WIFI>
< I类=图标离子的WiFi>< I&GT /;无线上网
&所述; / A>
< /李>
< / UL>
< /离子含量>
<离子躯杆类=吧吧暗>
<按钮类=按钮按钮图标图标离子注销菜单导航密切清晰NG控制器=LoginCtrlNG点击=退出()>注销< /按钮>
< /离子页脚酒吧>
&所述; /离子侧菜单> < /离子侧菜单>
和我的观点:
<离子视图标题=议程>
<离子含量拖含量=false的>
<离子滑动盒上滑动改变=slideHasChanged($指数)>
<离子幻灯片>
< DIV CLASS =头卡头卡 - 图像>
< DIV CLASS =叠加>
< DIV CLASS =项项文本换行>
< H3类=头-card__heading>接着&LT发生的; / H3 GT&;
< IMG NG-SRC =IMG / me.jpeg级=头-card__avatar/>
< H2类=头-card__heading>一些人< / H>
< p =类头-card__text>有的标题< / P>
< / DIV>
< / DIV>
< / DIV>
< /离子幻灯片>
<离子幻灯片>
< DIV CLASS =头卡头卡 - 图像>
< DIV CLASS =叠加>
< DIV CLASS =项项文本换行>
< H3类=头-card__heading>接下来会< / H3 GT&;
< IMG NG-SRC =IMG / me.jpeg级=头-card__avatar/>
< H2类=头-card__heading>有的人< / H>
< p =类头-card__text>慢慢地接管世界< / P>
< / DIV>
< / DIV>
< / DIV>
< /离子幻灯片>
< /离子滑动盒>
<离子列表>
<离子项目NG重复=(ID,agendaItem)在agendaItemsTYPE =项目文本换行的href =#/标签/ agendaItem / {{agendaItem的$ id}}级=项项-avatar项目与 - 网格>
< IMG NG-SRC ={{agendaItem.image}}>
&所述p为H.; {{agendaItem.startTime}}&下;我纳克-如果=agendaItem.hasNotificationSet ==真类=图标左离子ios7钟>&下; / I GT;&下; / P>
< H2> {{agendaItem.title}}< / H>
&所述p为H.; {{agendaItem.speaker}}&下; / P>
<离子选项按钮纳克级=agendaItem.hasNotificationSet按钮平衡图标离子ios7铃:按钮阳性图标离子ios7-钟纲要NG控制器=NotificationCtrlNG - 点击=添加(agendaItem)>< /离子选项按钮> <! - <离子选项按钮NG点击=getNotificationIds()>< /离子选项按钮> - >
< /离子项目>
< /离子列表>
< /离子含量>
和我的控制器:
.controller('AgendaCtrl',函数($范围,AgendaFactory,$ ionicSideMenuDelegate,$ rootScope,$ ionicPopup,$超时,$ cordovaLocalNotification,NotificationFactory){ $ ionicSideMenuDelegate.canDragContent(假); //似乎不工作 变种agendaItems = AgendaFactory.getAgenda(); //循环议程itens,并检查有哪些设置的通知
agendaItems。$()加载,然后(功能(阵列){
angular.forEach(阵列功能(值,键){ 如果(NotificationFactory.isNotificationScheduled(value.notificationId)==真){
value.hasNotificationSet =真;
}其他{
value.hasNotificationSet = FALSE;
} }); $ scope.getNotificationIds =功能(){
$ cordovaLocalNotification.getScheduledIds()。然后(功能(scheduledIds){
的console.log(scheduledIds);
});
}; $ scope.agendaItems = agendaItems;
}); $ scope.firstTimeLogin = $ rootScope.firstTimeLogin;})
我使用的是这样的事情在我的应用程序:
.controller('AgendaCtrl',函数($范围,$ ionicSideMenuDelegate){
($范围。在$('$ ionicView.enter',功能){
$ ionicSideMenuDelegate.canDragContent(假);
});
($范围。在$('$ ionicView.leave',功能){
$ ionicSideMenuDelegate.canDragContent(真);
});
})
现在,当你离开的看法是可拖动一次。
I'm writing a small ionic app and have an issue. I'm using a sidemenu and also tabs. I have an ionic slide-box in one of my views, when I wipe this slidebox from left to right the side menu slides out. I've read through various related topics on the ionic forum but none have worked.
I've tried adding drag-content="false"
to various tags and also added $ionicSideMenuDelegate.canDragContent(false);
to my controller.
Neither worked. I think it's because I'm using a sidemenu, with tabs and views in the tabs. Heres my code:
index.html
<ion-side-menus>
<!-- Header bar -->
<ion-side-menu-content ng-controller="NavCtrl" drag-content="false">
<ion-nav-bar class="bar-positive">
<ion-nav-back-button class="button-icon ion-ios7-arrow-back">
</ion-nav-back-button>
</ion-nav-bar>
<!-- Page content -->
<ion-nav-view drag-content="false" animation="slide-left-right"></ion-nav-view>
</ion-side-menu-content>
<!-- Side menu -->
<ion-side-menu side="left" class="side-menu">
<ion-header-bar class="bar bar-header bar-dark">
<h1 class="title">Menu</h1>
</ion-header-bar>
<ion-content has-header="true">
<div ng-if="authData.twitter" class="logged-in-user item item-avatar">
<img ng-src="{{authData.twitter.cachedUserProfile.profile_image_url}}"/>
<h2>Hello, {{authData.twitter.displayName}}</h2>
<p>Logged in via Twitter</p>
</div>
<div ng-if="authData.facebook" class="logged-in-user item item-avatar">
<img ng-src="{{authData.facebook.cachedUserProfile.picture.data.url}}"/>
<h2>Hello, {{authData.facebook.displayName}}</h2>
<p>Logged in via Facebook</p>
</div>
<ul class="list">
<li>
<a class="item item-icon-left" menu-close nav-clear href="#/venue">
<i class="icon ion-ios7-location"></i>Venue
</a>
</li>
<li>
<a class="item item-icon-left" menu-close nav-clear href="#/lunch">
<i class="icon ion-pizza"></i>Lunch
</a>
</li>
<li>
<a class="item item-icon-left" menu-close nav-clear href="#/wifi">
<i class="icon ion-wifi"></i>Wifi
</a>
</li>
</ul>
</ion-content>
<ion-footer-bar class="bar bar-dark">
<button class="button button-icon icon ion-log-out menu-close nav-clear" ng-controller="LoginCtrl" ng-click="logout()"> Logout</button>
</ion-footer-bar>
</ion-side-menu>
</ion-side-menus>
and my view:
<ion-view title="Agenda">
<ion-content drag-content="false">
<ion-slide-box on-slide-changed="slideHasChanged($index)">
<ion-slide>
<div class="header-card header-card--image">
<div class="overlay">
<div class="item item-text-wrap">
<h3 class="header-card__heading">Happening now</h3>
<img ng-src="img/me.jpeg" class="header-card__avatar"/>
<h2 class="header-card__heading">some guy</h2>
<p class="header-card__text">Some title</p>
</div>
</div>
</div>
</ion-slide>
<ion-slide>
<div class="header-card header-card--image">
<div class="overlay">
<div class="item item-text-wrap">
<h3 class="header-card__heading">Coming Next</h3>
<img ng-src="img/me.jpeg" class="header-card__avatar"/>
<h2 class="header-card__heading">Some guy</h2>
<p class="header-card__text">Slowly taking over the world</p>
</div>
</div>
</div>
</ion-slide>
</ion-slide-box>
<ion-list>
<ion-item ng-repeat="(id,agendaItem) in agendaItems" type="item-text-wrap" href="#/tab/agendaItem/{{agendaItem.$id}}" class="item item-avatar item-with-grid">
<img ng-src="{{agendaItem.image}}">
<p>{{agendaItem.startTime}} <i ng-if="agendaItem.hasNotificationSet == true" class="icon-left ion-ios7-bell"></i></p>
<h2>{{agendaItem.title}}</h2>
<p>{{agendaItem.speaker}}</p>
<ion-option-button ng-class="agendaItem.hasNotificationSet ? 'button-balanced icon ion-ios7-bell' : 'button-positive icon ion-ios7-bell-outline'" ng-controller="NotificationCtrl" ng-click="add(agendaItem)"></ion-option-button>
<!--<ion-option-button ng-click="getNotificationIds()"></ion-option-button>-->
</ion-item>
</ion-list>
</ion-content>
and my controller:
.controller('AgendaCtrl', function($scope, AgendaFactory, $ionicSideMenuDelegate, $rootScope, $ionicPopup, $timeout, $cordovaLocalNotification, NotificationFactory) {
$ionicSideMenuDelegate.canDragContent(false); // doesn't seem to work
var agendaItems = AgendaFactory.getAgenda();
// Loop through agenda itens and check which have notifications set
agendaItems.$loaded().then(function(array) {
angular.forEach(array, function(value, key) {
if (NotificationFactory.isNotificationScheduled(value.notificationId) == true) {
value.hasNotificationSet = true;
} else {
value.hasNotificationSet = false;
}
});
$scope.getNotificationIds = function () {
$cordovaLocalNotification.getScheduledIds().then(function (scheduledIds) {
console.log(scheduledIds);
});
};
$scope.agendaItems = agendaItems;
});
$scope.firstTimeLogin = $rootScope.firstTimeLogin;
})
I'm using something like this on my app:
.controller('AgendaCtrl', function($scope, $ionicSideMenuDelegate){
$scope.$on('$ionicView.enter', function(){
$ionicSideMenuDelegate.canDragContent(false);
});
$scope.$on('$ionicView.leave', function(){
$ionicSideMenuDelegate.canDragContent(true);
});
})
now, when you leave the view it's draggable again.
这篇关于禁止使用刷卡时卡查看sidemenu的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!