2017-09-25 77 views
0

可能的副本this。我正在使用角度來構建應用程序。我使用ui路由器來渲染多個視圖。我的問題是,當我啓動應用程序,意見沒有得到rendered.My路由器,即使使用正確的狀態,UI視圖也不會呈現

app.config(['$stateProvider', '$urlRouterProvider', 
    function($stateProvider, $urlRouterProvider) { 
    //$urlRouterProvider.otherwise('/'); 
     $stateProvider 
      .state('home', { 
       url: '/home', 
       views: {   
        'indexlist': {  
         templateUrl: 'partials/list', 
         controller:'ListController', 
         controllerAs:'ctrl',  
         resolve: { 
          users: function ($q, ListService) { 
           console.log('Load all indexlist'); 
           var deferred = $q.defer(); 
           ListService.loadAllUsers().then(deferred.resolve, deferred.resolve); 
           return deferred.promise; 
          } 
         } 
        },  
       'sidemenu': {  
        templateUrl: 'partials/sidemenu', 
        controller:'HomeController', 
        controllerAs:'ctrl',  
        resolve: { 
         users: function ($q, HomeService) { 
          console.log('Load all values'); 
          var deferred = $q.defer(); 
          HomeService.loadAllLists().then(deferred.resolve, deferred.resolve); 
          return deferred.promise; 
         } 
        } 
       }  
       } 
      }); 

和index.html是,

<!DOCTYPE html> 

<html lang="en" ng-app="myApp"> 
    <head> 
     <title>${title}</title> 
     <link href="css/bootstrap.css" rel="stylesheet"/> 
     <link href="css/app.css" rel="stylesheet"/> 
     <link href="css/sidebar.css" rel="stylesheet"/> 
     <script src="js/lib/jquery-3.2.1.min.js"></script> 
     <script src="js/lib/bootstrap.min.js"></script> 
     <script src="js/lib/angular.min.js" ></script> 
     <script src="js/lib/angular-ui-router.min.js" ></script> 
     <script src="js/lib/localforage.min.js" ></script> 
     <script src="js/lib/ngStorage.min.js"></script> 
     <script src="js/app/app.js"></script> 
     <script src="js/app/ListService.js"></script> 
     <script src="js/app/ListController.js"></script> 
     <script src="js/app/HomeService.js"></script> 
     <script src="js/app/HomeController.js"></script> 
    </head> 
    <body> 

     <div ui-view="sidemenu"></div> 
     <div ui-view="indexlist"></div> 
    </body> 
</html> 

但是,當我不使用多個視圖等,並提供空白的用戶界面視圖中的index.html,它呈現的觀點,

$stateProvider 
      .state('home', { 
       url: '/home', 
       templateUrl: 'partials/sidemenu', 
       controller:'HomeController', 
       controllerAs:'ctrl', 
       resolve: { 
        users: function ($q, ListService) { 
         console.log('Load all lists'); 
         var deferred = $q.defer(); 
         ListService.loadAllUsers().then(deferred.resolve, deferred.resolve); 
         return deferred.promise; 
        } 
       } 
      }); 

任何人都可以提出,如果我失去了一些東西或者做錯了什麼?

回答

1

你做錯了在解決部分,下面是修正版本

resolve: { 
      users: function ($q, ListService) { 
        console.log('Load all lists'); 
        var deferred = $q.defer(); 
        ListService.loadAllUsers().then(function(response){ 
         deferred.resolve(true) 
        }); 
       return deferred.promise; 
      } 
    } 

進樣users在相應的控制器。

+0

更正了它..但是這並沒有解決我的問題。 –

+0

您需要對indexList和Sidemenu都一樣,並給indexList @ home –

+0

刪除解析部分並將其添加到控制器中。這解決了我的問題。謝謝。 –

相關問題