2016-05-07 9 views
0

Ich versuche, einen Dienst, den ich in den Controller injiziert habe, in den Bereich zu schalten. Aber es funktioniert nicht. Nicht einmal sicher, ob das möglich ist. HierWie benutze ich den Dienst in einem ng-Switch?

ist ein Beispiel:

<div ng-switch="wpService.user.logged" ng-controller="AccountCtrl as account"> 

    <div class="row" ng-switch-when="false"> 
     Not logged in 
    </div> 

    <div class="row" ng-switch-when="true"> 
     Logged in 
    </div> 
</div> 

Die wpService innerhalb des AccountCtrl injiziert wird und die wpService.user.logged gibt eine falsche.

Antwort

2

Präfix Account zum Dienst, denn das ist, wie Sie den Bereich definieren.

<div ng-switch="account.wpService.user.logged" ng-controller="AccountCtrl as account"> 

    <div class="row" ng-switch-when="false"> 
     Not logged in 
    </div> 

    <div class="row" ng-switch-when="true"> 
     Logged in 
    </div> 
</div> 

in Ihrem Controller tun

.controller('AccountCtrl', function(wpService){ 
    var this = vm; 
    vm.wpService = wpService; 
} 
1

Dies sollte möglich sein, aber Sie müssen den Dienst zu Ihrem $scope hinzufügen.

.controller('AccountCtrl', function($scope, wpService){ 
    $scope.wpService = wpService; 
}