0

こんにちは、私はイオンに比較的慣れていないので、サイドメニューとタブバーの両方でアプリを実行しようとしています。現在、タブバーは正常に機能していますが、アイコンをクリックしても左側のメニューが開きません。ほとんどのアプリについて、私は ionic Web サイトのチュートリアルに取り組んできました。

タブに Google マップを追加しています。サイドバーに Facebook のログインを設定することを目指していますが、主な問題はタブが切り替えられないことです。

app.js

    $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');

tab-map.html

<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>

menu.html

<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に移動すると、トグルがうまくいくことです。

クリックで実際に何も起動しない理由について何か提案はありますか? おそらく、その時点でどのコントローラーが動作しているかの問題でしょうか?

4

1 に答える 1

0

正しい関数を呼び出す必要があります。コントローラーlogin()の中にあると思います。AppCtrlそのため、ng-clickどこにあるかを伝えない限り、関数を見つけることができません。AppCtrlは を担当しているため、menu.html次のように呼び出す必要があります。

ng-click="this.login()"
于 2015-11-15T20:11:53.570 に答える