Bedingt ausblenden Menü-Taste in ionic framework-außen - <ion-view - >

In dem ionic framework ich versuche zu verstecken die Menü-Taste bedingt. Aus anderen Gründen musste ich split Menü in Ihrem eigenen controller (ich will nicht komplett neu Rendern das Menü und Kopfzeile auf aktualisieren), so wird die Kopfzeile nicht in Ionen-Ansicht. Ich erstellte einen watcher auf die conditional-variable (eine stateparam) in der Steuerung der Kopfzeile. Das console-log-Ausgänge die conditional-variable korrekt, aber die Ansicht wird nicht aktualisiert (die Menü-Taste wird immer angezeigt).

Dies ist die Vorlage:

<ion-side-menus>
    <ion-side-menu-content>
        <ion-nav-bar class="bar-stable nav-title-slide-ios7">
            <ion-nav-back-button ng-if="!isHome" class="button-clear"><i class="icon ion-ios7-arrow-back"></i>Back</ion-nav-back-button>
            <button ng-if="isHome" menu-toggle="left" class="button button-icon icon ion-navicon"></button>
            <h1 class="title">Title</h1>

        </ion-nav-bar>
    <ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
</ion-side-menu-content>

...
</ion-side-menus>

Und in der Steuerung:

$scope.$watch(function(){
    return $stateParams.contentUrl;
},
    function(newVal){
        console.log(newVal);
        if(!newVal || newVal === 'someParam'){
            $timeout(function(){
                $scope.$apply(function(){
                    $scope.isHome = true;
                });
                console.log("home");
            });
        } else {
            $timeout(function(){
                $scope.$apply(function(){
                    $scope.isHome = false;
                });
                console.log("not home");
            });
        }
    });

Gibt es einen einfacheren Weg? Oder bin ich hier etwas fehlt?

InformationsquelleAutor mhanisch | 2014-11-11

Schreibe einen Kommentar