我正在研究一个Ionic应用程序,我完全使用工作状态的左菜单 .
这是菜单代码:
<ion-side-menu side="left">
<ion-header-bar class="bar-royal">
<h1 class="title">Example</h1>
</ion-header-bar>
<ion-content>
<ion-list>
<ion-item menu-close ng-repeat="test in data"
ng-switch="test.ID"
ng-href="{{test.ID == 0 ? '#/app/test' : '#/app/details/' + test.iID}}"
class="item item-icon-right">
<div ng-switch-when="0"><span>{{test.Name}}</span></div>
<div ng-switch-default><span>{{test.Name}}</span>
</div>
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
非常基本的设置 .
以及具有状态的代码(coffescript):
angular.module('hgApp', ['ionic'])
.config [
'$stateProvider'
'$urlRouterProvider'
($stateProvider, $urlRouterProvider) ->
$stateProvider.state('app',
url: '/app'
abstract: true
templateUrl: './sections/menu/menu.html'
controller: 'menuList'
).state('app.details',
url: '/details/:testID'
views:
'menuContent':
templateUrl: './sections/details/testDetails.html'
controller: 'testDetails'
现在,我的问题在这里:
我可以从左侧菜单列表中导航到 app/details/{testID}
,或者从我主页上的链接导航到 app/details/{testID}
.
我需要能够在 app/details/{testID}
的顶部栏中添加一个后退按钮,只有当我使用主页上的链接到达页面时,如果我从左侧菜单列表到达那里则不能 .
菜单列表和主页上的链接都用作href "#/app/details/{{test.ID}}"
我怎样才能做到这一点?我真的不知道 .
在此先感谢您的帮助 .
2 回答
嗨,我有一个类似的情况,我必须隐藏按钮,如果表单是可编辑的,所以我做了以下
Controller.js
因此,如果字段是可编辑的,则后退按钮将消失 . 我希望这有任何帮助 .
Another example is:
在调用
$state.go('app.details')
之前,在控制器中使用$ionicHistory
. 我猜你在主页上有不同的控制器,你使用$stage.go
进入详情页面?所以代码看起来应该是这样的HTML
顺便提一下有趣的问题
我认为你可以用$ broadcast完成你想要的行为
基本上你有一个函数,当你点击链接时会调用它来告诉testDetails控制器'嘿,我们来自一个链接,做你的东西'
testDetails控制器将期待此调用并相应地显示按钮
原始代码:
您可以在此处找到涵盖所有可能性的小文章的链接
https://toddmotto.com/all-about-angulars-emit-broadcast-on-publish-subscribing/