简体   繁体   English

更改页面上的导航栏颜色会加载离子

[英]Changing nav-bar color on page loads ionic

Hi i want to change the color of my nav-bar on every page load so i tried this : in the menu.html : 嗨,我想在每次加载页面时更改nav-bar的颜色,所以我尝试了以下操作:在menu.html中:

<ion-side-menus enable-menu-with-back-views="false">

<ion-side-menu-content>

    <ion-nav-bar class="{{headerClass}}">

        <ion-nav-buttons side="left">

            <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>

        </ion-nav-buttons>

    </ion-nav-bar>

    <ion-nav-view name="side-menu21"></ion-nav-view>

</ion-side-menu-content>

<ion-side-menu side="left">

    <ion-header-bar class="bar-dark">

        <div class="title">Menu</div>

    </ion-header-bar>

    <ion-content padding="false" class="side-menu-left has-header">

        <ion-list>

            <ion-item ui-sref="menu.home" menu-close="" class="item-icon-left"><i class="icon ion-home assertive"></i>Persée</ion-item>

            <ion-item ui-sref="menu.offreSFR" menu-close="" class="item-icon-left"><i class="icon ion-ios-cart royal"></i>Offres SFR</ion-item>

            <ion-item ui-sref="menu.mediatheque" menu-close="" class="item-icon-left"><i class="icon ion-ios-book energized"></i>Mediatheque</ion-item>

            <ion-item ui-sref="menu.reporting" menu-close="" class="item-icon-left"><i class="icon ion-stats-bars balanced"></i>Reporting</ion-item>

            <ion-item ui-sref="menu.FAQ" menu-close="" class="item-icon-left"><i class="icon ion-help calm"></i>FAQ</ion-item>

            <ion-item ui-sref="connexion" menu-close="" class="item-icon-left"><i class="icon ion-log-out"></i>Se deconnecter</ion-item>

        </ion-list>

    </ion-content>

</ion-side-menu>

And in the controller.js : 并在controller.js中:

angular.module('app.controllers', [])
  .controller('homeCtrl', function($rootScope, $scope) {
    $rootScope.headerClass = 'bar-assertive';
  })

  .controller('reportingCtrl', function($rootScope, $scope) {
    $rootScope.headerClass = 'bar-balanced';
  })

  .controller('mediathequeCtrl', function($rootScope, $scope) {
    $rootScope.headerClass = 'bar-energized';
  })

  .controller('offreSFRCtrl', function($rootScope, $scope) {
    $rootScope.headerClass = 'bar-royal';
  })

  .controller('FAQCtrl', function($rootScope, $scope) {
    $rootScope.headerClass = 'bar-calm';
  })

  .controller('connexionCtrl', function($rootScope, $scope) {
  })

Thanks !! 谢谢 !!

You can change header bar color of nav-bar on every page change 您可以在每次页面更改时更改导航栏的标题栏颜色

.run(function($rootScope, $location) {

    $rootScope.$on('$locationChangeStart', function(event, next, current) {

        if ($location.path() == '/menu/home') {
            $rootScope.headerClass = 'bar-assertive';
        } else if ($location.path() == '/menu/reporting') {
            $rootScope.headerClass = 'bar-balanced';
        } else if ($location.path() == '/menu/mediatheque') {
            $rootScope.headerClass = 'bar-energized';
        } else if ($location.path() == '/menu/offreSFR') {
            $rootScope.headerClass = 'bar-royal';
        } else if ($location.path() == '/menu/FAQ') {
            $rootScope.headerClass = 'bar-calm';
        }else{
           $rootScope.headerClass = 'bar-assertive';
        }
    });    

})

Example

OR you can add ion-nav-bar in every view 或者您可以在每个view添加ion-nav-bar

menu.html menu.html

<ion-side-menus enable-menu-with-back-views="false">
    <ion-side-menu-content>        
        <ion-nav-view name="menu"></ion-nav-view>
    </ion-side-menu-content>
    <ion-side-menu side="left">
        <ion-header-bar class="bar-dark">
            <div class="title">Menu</div>
        </ion-header-bar>
        <ion-content padding="false" class="side-menu-left has-header">
            <ion-list>
                <ion-item ui-sref="menu.home" menu-close="" class="item-icon-left" ng-click="reloadRoute()"><i class="icon ion-home assertive"></i>Persée</ion-item>
                <ion-item ui-sref="menu.offreSFR" menu-close="" class="item-icon-left" ng-click="reloadRoute()"><i class="icon ion-ios-cart royal"></i>Offres SFR</ion-item>
                <ion-item ui-sref="menu.mediatheque" menu-close="" class="item-icon-left" ng-click="reloadRoute()"><i class="icon ion-ios-book energized"></i>Mediatheque</ion-item>
                <ion-item ui-sref="menu.reporting" menu-close="" class="item-icon-left" ng-click="reloadRoute()"><i class="icon ion-stats-bars balanced"></i>Reporting</ion-item>
                <ion-item ui-sref="menu.FAQ" menu-close="" class="item-icon-left" ng-click="reloadRoute()"><i class="icon ion-help calm"></i>FAQ</ion-item>
                <ion-item ui-sref="connexion" menu-close="" class="item-icon-left bar-dark"><i class="icon ion-log-out"></i>Se deconnecter</ion-item>
            </ion-list>
        </ion-content>
    </ion-side-menu>
</ion-side-menus>

home.html home.html

<ion-view title="Persée" cache-view="false">
    <ion-nav-bar class="bar-assertive">
        <ion-nav-buttons side="left">
            <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
        </ion-nav-buttons>
    </ion-nav-bar>
    <ion-content overflow-scroll="true" padding="true" class="has-header"></ion-content>
</ion-view>

repoerting.html repoerting.html

<ion-view title="Reporting">
    <ion-nav-bar class="bar-balanced">
        <ion-nav-buttons side="left">
            <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
        </ion-nav-buttons>
    </ion-nav-bar>
    <ion-content overflow-scroll="true" padding="true" class="has-header"></ion-content>
</ion-view>

mediatheque.html mediatheque.html

<ion-view title="Mediatheque">
    <ion-nav-bar class="bar-energized">
        <ion-nav-buttons side="left">
            <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
        </ion-nav-buttons>
    </ion-nav-bar>
    <ion-content overflow-scroll="true" padding="true" class="has-header"></ion-content>
</ion-view>

offreSFR.html offreSFR.html

<ion-view title="Offre SFR" cache-view="false">
    <ion-nav-bar class="bar-royal">
        <ion-nav-buttons side="left">
            <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
        </ion-nav-buttons>
    </ion-nav-bar>
    <ion-content overflow-scroll="true" padding="true" class="has-header"></ion-content>
</ion-view>

FAQ.html FAQ.html

<ion-view view-title="FAQ">
    <ion-nav-bar class="bar-calm">
        <ion-nav-buttons side="left">
            <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
        </ion-nav-buttons>
    </ion-nav-bar>
    <ion-content overflow-scroll="true" padding="true" class="has-header"></ion-content>
</ion-view>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM