嗨,我对离子相对较新,我正试图让一个应用程序同时运行一个侧面菜单和一个标签栏。目前标签栏工作正常,单击图标时左侧菜单无法打开。对于大多数应用程序,我刚刚离开了离子网站上的教程。
我正在将谷歌地图添加到标签页,我的目标是让Facebook登录侧栏,但主要问题是标签没有切换。
$stateProvider
.state('menu', {
url: "/menu",
abstract: true,
templateUrl: "templates/menu.html",
controller: 'AppCtrl'
})
.state('menu.playlists', {
url: "/playlists",
views: {
'menu' :{
templateUrl: "templates/playlists.html",
controller: 'PlaylistsCtrl'
}
}
})
// setup an abstract state for the tabs directive
.state('tab', {
url: '/tab',
abstract: true,
templateUrl: 'templates/tabs.html'
})
.state('tab.map', {
url: '/map',
views: {
'tab-map': {
templateUrl: 'templates/tab-map.html',
controller: 'MapCtrl'
}
}
})
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/tab/map');
<ion-view view-title="Safety First">
<ion-nav-buttons side="left" ng-controller="AppCtrl">
<button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
</ion-nav-buttons>
<ion-content ng-controller="MapCtrl">
<div id="map" data-tap-disabled="true"></div>
</ion-content>
</ion-view>
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="bar-stable nav-title-slide-ios7">
<ion-nav-back-button class="button-clear"><i class="icon ion-ios7-arrow-back"></i> Back</ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view name="menu" animation="slide-left-right"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<header class="bar bar-header bar-stable">
<h1 class="title">Left</h1>
</header>
<ion-content class="has-header">
<ion-list>
<ion-item nav-clear menu-close href="#/app/about">
About
</ion-item>
<ion-item nav-clear menu-close ng-click="login()">
Login
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
以下是该应用主页的图片
单击子菜单图标时,不会切换子菜单。奇怪的是,如果我将应用程序导航到http://localhost:8100/#/menu/playlists,切换就可以了。
有关为什么没有真正触发点击的任何建议?也许这是当时哪个控制器在起作用的问题?
答案 0 :(得分:0)
你必须调用正确的函数。我假设login()
位于AppCtrl
控制器内。因此,ng-click
无法找到该功能,除非您告诉它所在的位置。由于AppCtrl
负责menu.html
,因此您必须这样称呼它:
ng-click="this.login()"