在 Ionic 的标题栏中动态显示主页按钮
Dynamically Show Home Button in Header Bar in Ionic
在我的Ionic应用程序中,我想在除主页以外的所有页面的标题栏中显示"回到主页"按钮。我尝试使用当 $state.current.name 等于 home 时设置为 false 的布尔值来执行此操作。
在 ng-show 指令中,我使用此布尔值来显示或隐藏主页按钮。不幸的是,布尔值始终设置为 true,因此该按钮也显示在主页上。我该如何解决这个问题?
我在应用程序中的控制器.js
.controller('mainController', function($scope, $state) {
$scope.showHomeButton = true;
if ($state.current.name == 'home') {
$scope.showHomeButton = false;
}
})
从索引中提取.html
<body ng-app="chartly" ng-controller="mainController">
<ion-nav-bar class="bar-positive">
<ion-nav-back-button class="button-clear">
<i class="icon ion-ios-arrow-left"></i>
</ion-nav-back-button>
<ion-nav-buttons side="right" ng-show="showHomeButton">
<a href="/#/home" class="button icon ion-home"></a>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view>
</ion-nav-view>
添加监视:
$scope.$watch(function(){
return $state.current.name;
}, function(new){
if (new === 'home') {
$scope.showHomeButton = false;
}
});
或者,如果这不起作用,则在主控制器中侦听事件$stateChangeSuccess
$rootScope.$on('$stateChangeSuccess',function(event, toState, toParams, fromState, fromParams){
if (toState.name === 'home') {
$scope.showHomeButton = false;
}
}
您是否尝试使用$location?
.controller('mainController', function($scope, $location) {
if($location.path()!='#/home') {
$scope.showHomeButton = true;
}
})
相关文章:
- Magento网站上线直播服务器只显示主页
- 动态显示JSON文件内容
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- Highcharts:根据表单输入动态显示数据
- ImageMapster可以动态显示和隐藏图像选择崩溃
- AngularJS动态显示多条记录
- 动态显示/添加具有不同字段的相同表单到页面
- 在轨道上的 Ruby 文本字段中动态显示数据
- 使用 Node.js 和 socket.io 和 fs 动态显示图像
- 在两列中动态显示产品
- 根据条件使用ng repeat动态显示输入复选框
- 动态显示元素上的JavaScript触摸端;不要开火
- Bootstrap动态显示PopOver
- 从本地存储中删除动态显示在
- 中的项目
- 单击时动态显示数据库信息
- 动态显示实时高图表数据,无需警报
- 隐藏信息窗口标记并动态显示
- 尝试使用 Angular 动态显示模型
- 在 javascript 中动态显示一个带有换行符的警告框
- 在 Ionic 的标题栏中动态显示主页按钮