2014-05-15 4 views
0

안녕하세요 여러분, 헤더와 함께 몇 가지 문제가 생겨서 사이드 메뉴를 스크롤하고 있습니다. 나는이 조각에서 그것을 밖으로 찍은 있지만이오니아 has-header + ionic-side-menus가 작동하지 않습니다.

, 나는 거의 모든 가능한 조합에 클래스 /의 ATTR이 헤더 퍼팅 시도했다 :

또한
<ion-side-menus> 

    <ion-side-menu-content> 

    <ion-header-bar class="bar-dark"> 
     <button class="button icon ion-arrow-left-a" ng-click='back()'></button> 
     <h1 class="title">Ionic Shopping Checkout</h1> 
     <button class='button icon ion-bag' ng-click='toggleRightSideMenu()'></button> 
    </ion-header-bar> 

    <ion-purchase></ion-purchase> // custom directive 

    <ion-purchase-footer></ion-purchase-footer> // custom directive 

    </ion-side-menu-content> 

    <ion-side-menu side="right"> 
    <ion-cart has-header='true' ng-controller='CartController'></ion-cart> // custom directive 
    </ion-side-menu> 

</ion-side-menus> 

의 항목 내 NG 반복 사이드 메뉴가 스크롤되지 않습니다. 심지어 이온 스크롤 요소에 중첩되어 있습니다. 이것은 완전히 관련이없는 문제 일 가능성이 높습니다. 그러나 누군가가 그 문제를 겪어왔다면 나는 궁금합니다.

미리 도움 주셔서 감사합니다.

+1

은'갖는다-header' 특성 이온 최신 버전에서 제거 된 다음

는 HTML이다. 사이드 메뉴에 대한 코드를 보여 주시겠습니까? – Riron

+0

@Riron 죄송합니다. has-header가 제거되었는데, 대체 된 것은 무엇입니까? 그냥 수업? – JoshSGman

+0

ionic blog에서 : has-header, has-footer 및 has-tabs 속성이 제거되었습니다. 이제 Ionic은 주변 위젯의 존재 여부에 따라 콘텐츠의 위치를 ​​자동으로 조정하고 크기를 조정합니다. 이온 카트 지시문에'ng-repeat'가 포함되어 있습니까? Maybie이 지시어에 대한 더 자세한 내용은 도움이 될 것입니다 – Riron

답변

6

위에서 언급 한 것처럼 실제로 has-header 속성이 제거되었습니다. 그러나 has-header 클래스가 여전히 존재합니다. 일반적으로 말하자면 지금은 관리 할 필요가 없습니다.

모든 문제를 해결할 샘플을 설정했습니다.

http://codepen.io/calendee/pen/Fuejf

핵심 포인트

는 내용의 요구는 ion-content 지침 내에서 이동, 위의 그 의견과 동일합니다. 여기

<html ng-app="ionicApp"> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 

    <title>Side Menus</title> 

    <link href="http://code.ionicframework.com/1.0.0-beta.6/css/ionic.css" rel="stylesheet"> 
    <script src="http://code.ionicframework.com/1.0.0-beta.6/js/ionic.bundle.js"></script> 
    </head> 

    <body> 

    <div ng-controller="AppController">  
     <ion-nav-view></ion-nav-view> 
    </div> 

    <script id="app.html" type="text/ng-template"> 
     <ion-side-menus> 

     <ion-side-menu-content> 
      <ion-nav-bar class="bar-dark"> 
      <ion-nav-back-button class="button-icon ion-arrow-left-c"> 
      </ion-nav-back-button> 
      </ion-nav-bar> 
      <ion-nav-buttons side="left"> 
      <button class="button button-icon button-clear ion-navicon" ng-click="toggleLeft()"> 
      </button> 
      </ion-nav-buttons> 
      <ion-nav-view name="appContent"></ion-nav-view> 
     </ion-side-menu-content> 

     <ion-side-menu side="left"> 
      <ion-header-bar class="bar-assertive"> 
      <h1 class="title">Left Menu</h1> 
      </ion-header-bar> 
      <ion-content> 
      <ion-cart ng-controller='CartController'></ion-cart> 
      </ion-content> 
     </ion-side-menu> 
     </ion-side-menus> 
    </script> 

    <script id="home.html" type="text/ng-template"> 
     <ion-view title="Ionic Shopping Checkout"> 
     <ion-content padding="true"> 
      <ion-purchase></ion-purchase> 
     </ion-content> 
     </ion-view> 
    </script> 

    <script id="ionCart.html" type="text/ng-template"> 
     <div class="list"> 

     <div class="item" ng-repeat="item in data.items">{{item.label}}</div> 
     </div> 
    </script> 

    </body> 
</html> 

는 JS이다 :

angular.module('ionicApp', ['ionic']) 

.config(function($stateProvider, $urlRouterProvider) { 

    $stateProvider 
    .state('app', { 
     url: "/app", 
     abstract: true, 
     templateUrl: "app.html" 
    }) 
    .state('app.home', { 
     url: "/home", 
     views: { 
     'appContent' :{ 
      templateUrl: "home.html", 
      controller : "HomeController" 
     } 
     } 
    }) 

    $urlRouterProvider.otherwise("/app/home"); 
}) 

.controller('AppController', function($scope, $ionicSideMenuDelegate) { 
    $scope.toggleLeft = function() { 
    $ionicSideMenuDelegate.toggleLeft(); 
    }; 
}) 

.controller("HomeController", function($scope) { 

}) 

.controller("CartController", function($scope) { 

    $scope.data = { 
    items : [] 
    }; 

    for(var i = 0; i < 25; i++) { 
    $scope.data.items.push({ 
     id : i, 
     label : "Item " + i 
    }) 
    } 

}) 

.directive("ionCart", function() { 
    return { 
    restrict : "E", 
    templateUrl : "ionCart.html" 
    } 
}) 

.directive("ionPurchase", function() { 
    return { 
    restrict : "E", 
    template : "<h2>This is Ion Purchase</h2>" 
    } 
})