2015-10-25 22 views
0

我正在以這種方式使用解析(似乎是這樣做的標準方法)。但是這個觀點並沒有顯示出來。任何想法我錯過了什麼?順祝商祺ng-view無法解析

angular.module('fifaApp', ['ngRoute']) 
    .config(function($routeProvider) { 
    $routeProvider.when('/team/:code', { 
     templateUrl: 'views/team_details.html', 
     controller:'TeamDetailsCtrl as teamDetailsCtrl', 
     resolve: { 
     auth: function(UserService){ 
      return UserService.session(); 
     } 
     } 
    }); 
    }); 

    .factory('UserService', ['$http', function($http) { 
    var service = { 
     isLoggedIn: false, 
     session: function() { 
     var promise = $http.get('/api/session') 
       promise.success(function(response) { 
      service.isLoggedIn = true; 
      return response; 
     }); 
     return promise; 
    }; 
    return service; 
    }; 
    }]); 

    .controller('MainCtrl', ['$scope','auth', 
    function($scope,auth) { 
     $scope.auth = auth.response; 
    }]); 

和HTML:

<div class="team-details-container card"> 
    <div class="team-logo"> 
     <img title="Image Courtesy: Wikipedia" 
      ng-src="{{teamDetailsCtrl.team.logoUrl}}"> 
    </div> 
    <div class="name"> 
     <span ng-bind="teamDetailsCtrl.team.name"></span> 
     (<span ng-bind="teamDetailsCtrl.team.fifaCode"></span>) 
    </div> 
    <div class="detail"> 
    <div class="label"> 
     <span>Nickname</span> 
    </div> 
    <div class="title"> 
     <span ng-bind="teamDetailsCtrl.team.nickname"></span> 
    </div> 
    </div> 
    <div class="detail"> 
    <div class="label"> 
     <span>FIFA Ranking</span> 
    </div> 
    <div class="title"> 
     <span ng-bind="teamDetailsCtrl.team.fifaRanking"> 
     </span> 
    </div> 
    </div> 
    <div class="detail"> 
    <div class="label"> 
     <span>Association</span> 
    </div> 
    <div class="title"> 
     <span ng-bind="teamDetailsCtrl.team.association"></span> 
    </div> 
    </div> 
    <div class="detail"> 
    <div class="label"> 
     <span>Head Coach</span> 
    </div> 
    <div class="title"> 
     <span ng-bind="teamDetailsCtrl.team.headCoach"></span> 
    </div> 
    </div> 
    <div class="detail"> 
    <div class="label"> 
     <span>Captain</span> 
    </div> 
    <div class="title"> 
     <span ng-bind="teamDetailsCtrl.team.captain"></span> 
    </div> 
    </div> 
</div> 
+1

如果這是您的真實代碼,那麼打開控制檯時會出現錯誤。 – dfsq

+0

我認爲你必須使用'UserService.service.session()' –

+0

@FarzadYZ不,那也不管用。 – user1665355

回答

0

服務添加$q

.factory('UserService', ['$http' , '$q', function($http, $q) { 
    var service = { 
     isLoggedIn: false, 
     session: function() { 
     var deferred = $q.defer(); 
     var promise = $http.get('/api/session') 
     promise.success(function(response) { 
      service.isLoggedIn = true; 
      deferred.resolve(response); 
     }); 

     return deferred.promise; 
    }; 
    return service; 
    }; 
}]); 
+0

不起作用:/仍然不能看到模板。 – user1665355

+0

在小提琴中添加代碼 –

+0

http://pastebin.com/GKRnSv6w不知道小提琴:/ – user1665355