2015-06-11 2 views
0

Итак, у меня есть ссылка кода пера здесь: http://codepen.io/anon/pen/oXwZmrионное: содержание выходит за навигационный баром

В том, что они объединяют все шаблоны в index.html (tabs.html, mainContainer.html, entry.html, ...) и все контроллеры страниц шаблонов в файле js (MainController, TabsPageController, ...).

Я хотел сохранить все вещи отдельно, поэтому мне понравился index.html, mainController.html mainController.js, tabs.html, tabs.js, app.js.

Кодепен отлично работает. Но у меня проблемы. Мой контент идет за вкладками.

index.html

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

     <title>Droid Rest Client</title> 

     <!--  <link href="http://code.ionicframework.com/0.9.27/css/ionic.min.css" rel="stylesheet"> 
       <script src="http://code.ionicframework.com/0.9.27/js/ionic.bundle.min.js"></script>--> 

     <link href="lib/ionic/css/ionic.css" rel="stylesheet"> 
     <link href="css/style.css" rel="stylesheet"> 
     <link href="css/ionicons.css" rel="stylesheet" type="text/css"/> 

     <!--ionic/angularjs js--> 
     <script src="lib/ionic/js/ionic.bundle.js"></script> 

     <script src="js/app.js" type="text/javascript"></script> 
     <script src="templates/mainContainer/mainContainer.js" type="text/javascript"></script> 
     <script src="templates/tabs/tabs.js" type="text/javascript"></script> 
    </head> 
    <body> 

     <!-- ALL VIEW STATES LOADED IN HERE --> 
    <ion-nav-view> 

    </ion-nav-view> 
</body> 
</html> 

app.js

angular.module('DroidRestClient', ['ionic', 'DroidRestClient.mainController', 'DroidRestClient.tabsPageController']) 

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

     $stateProvider 
      .state('main', { 
       url : '/main', 
       templateUrl : 'templates/mainContainer/mainContainer.html', 
       abstract : true, 
       controller : 'MainController' 
      }) 
      .state('main.tabs', { 
       url: '/tabs', 
       views: { 
        'main': { 
         templateUrl: 'templates/tabs/tabs.html', 
         controller : 'TabsPageController' 
        } 
       } 
      }); 

     $urlRouterProvider.otherwise('/main/tabs'); 
    }]); 

mainContainer.html

<ion-side-menus> 
    <ion-pane ion-side-menu-content> 
     <ion-nav-bar type="bar-positive" 
        back-button-type="button-icon" 
        back-button-icon="ion-ios7-arrow-back" 
        animation="nav-title-slide-ios7"> 
     </ion-nav-bar> 
     <ion-nav-view name="main"> 

     </ion-nav-view> 
    </ion-pane> 

    <ion-side-menu side="left"> 
     <header class="bar bar-header bar-assertive"> 
      <div class="title">Settings</div> 
     </header> 
     <ion-content has-header="true"> 
      <ul class="list"> 
       <a ui-sref="main.tabs" class="item" ng-click="toggleMenu()">Tabs</a> 
      </ul> 
     </ion-content> 
    </ion-side-menu> 
</ion-side-menus> 

mainContainer

angular.module('DroidRestClient.mainController', ['ionic']) 
     .controller('MainController', ['$scope', function ($scope) { 
       $scope.toggleMenu = function() { 
        $scope.sideMenuController.toggleLeft(); 
       }; 
      }]); 

tabs.html

<ion-view title="{{navTitle}}" left-buttons="leftButtons"> 
<ion-tabs class="tabs-icon-top tabs-color-active-positive"> 
    <ion-tab title="Request" icon-off="ion-ios-cloud-upload-outline" icon-on="ion-ios-cloud-upload"> 
     <ion-content has-header="true" padding="true"> 
      <form ng-submit="doLogin()"> 
       <div class="list"> 
        <div class="item item-divider item-button-right"> 
         Url 
        </div> 
        <label class="item item-input"> 
         <input type="text" placeholder="enter url"> 
        </label> 
        <div class="item item-divider item-button-right"> 
         Method 
        </div> 
        <label class="item item-input"> 
         <div class="input-label"> 
          Method 
         </div> 
         <select> 
          <option selected>GET</option> 
          <option>POST</option> 
          <option>PUT</option> 
          <option>DELETE</option> 
         </select> 
        </label> 
        <div class="item item-divider item-button-right"> 
         Parameters 
         <a class="button button-icon icon ion-ios-plus-empty"></a> 
         <button class="button button-positive"> 
          <i class="icon ion-ios-plus-empty"></i> 
         </button> 
        </div> 
        <div class="list list-inset"> 
         <div class="item"> 
          No parameters 
         </div> 
        </div> 
        <div class="item item-divider item-button-right"> 
         Headers 
         <a class="button button-icon icon ion-ios-plus-empty"></a> 
         <button class="button button-positive"> 
          <i class="icon ion-ios-plus-empty"></i> 
         </button> 
        </div> 
        <div class="list list-inset"> 
         <div class="item"> 
          No headers 
         </div> 
        </div> 
        <div class="item item-divider item-button-right"> 
         Body 
        </div> 
        <label class="item item-input"> 
         <textarea placeholder="enter body"></textarea> 
        </label> 
       </div> 
      </form> 
     </ion-content> 
    </ion-tab> 

    <ion-tab title="Response" icon-off="ion-ios-cloud-download-outline" icon-on="ion-ios-cloud-download"> 
     <ion-content has-header="true" padding="true"> 
      <h2>Response</h2> 
     </ion-content> 
    </ion-tab> 
</ion-tabs> 

tabs.js

angular.module('DroidRestClient.tabsPageController', ['ionic']) 
    .controller('TabsPageController', ['$scope', '$state', function ($scope, $state) { 
      $scope.navTitle = 'Home'; 

      $scope.leftButtons = [{ 
        type: 'button-icon icon ion-navicon', 
        tap: function (e) { 
         $scope.toggleMenu(); 
        } 
       }]; 
     }]); 
+0

Не могли бы вы создать jsfiddle, чтобы мы могли непосредственно попытаться решить вашу проблему? Этот код не полезен для его решения. – carton

ответ

0

Добавить has-header="true" в tabs.html

в примере; <ion-view title="{{navTitle}}" has-header="true" left-buttons="leftButtons">

Я также столкнулся с той же проблемой, и это сработало для меня.

+0

Я сделал это .. но все еще не работает .. –

0

Дайте классу = "has-header" для ионного содержимого.

<ion-content class="has-header"> 
</ion-content> 

И вам нужно инициализировать свое угловое приложение - см. Javascript на моем примере. Обратите внимание на ng-controller и ng-app.

Смежные вопросы