AngularJS UI-Routing - wie die route Staat als variable im controller?

Ich bin mit Angular JS und UI-Routing. Das routing funktioniert auch Prima. Mein problem ist, zeigen und verstecken ein Schieberegler, je nachdem, welche Seite der Benutzer ist.

Meine index.html sieht ungefähr so aus:

<body ng-app="myApp">

<header ng-include="'templates/header.html'"></header>
<div>Code for slider</div>


<!--=== Content Part ===-->
<div class="container"> 
<div class="row" >
    <div ui-view autoscroll="false"></div>
</div>


</div><!--/container-->     
<!-- End Content Part -->

<footer ng-include="'templates/footer.html'"></footer>

meine app.js sieht wie folgt aus:

angular
.module('myApp', ['ui.router'])
.config(['$urlRouterProvider','$stateProvider',function($urlRouterProvider,$stateProvider){
    $urlRouterProvider.otherwise('/');
    $stateProvider
        .state('home',{
            url: '/',
            templateUrl: 'templates/home.html'
        })
        .state('about',{
            url: '/about',
            templateUrl: 'templates/about.html'
        })
        .state('contact',{
            url: '/contact',
            template: 'CONTACT'
        })
}])
.controller()

Nun, ich habe versucht, um die Schieberegler in der home.html Vorlage ist es dann doch nicht richtig funktionieren aufgrund der Initialisierung Anforderungen. Wenn ich einen controller in die verschiedenen Routen, es ist out of scope. Also wie gebe ich eine variable bezieht sich auf den Zustand mit einem controller indepent der route, so kann ich es verwenden, für die es so etwas wie

if (state==home) {
   $scope.showSlider==true;
}else{ $scope.showSlider==false;}

Dank,

Gerd

UPDATE:
@Chris T

Habe ich dieses zu mein app.js:

 .controller('myController',['$scope', '$state', function($scope,$state){
if ($state.includes('home')){
    $scope.showIt=true;

}else{
    $scope.showIt=false;
}
 }])

Dann habe ich den controller auf einen div wickelte ich um den regler und verwendet

 ng-show="showIt"
InformationsquelleAutor gerdtf | 2014-06-06
Schreibe einen Kommentar