2017-06-02 8 views
0

私はスプリングブートとangularjsを研究し始めています。ルーティング方法は非常に興味深いと感じましたが、私の状況には理想的なものに気付きましたが、成功できません。

私は、この点で何が間違っているかについての助けや説明をしたいと思います。

ルーティングコンフィグレーションを開始すると、データのUIビューを含むレイアウトを呼び出す抽象状態になり、残りのアプリケーションが表示されます。このレイアウトにはメニュー、ヘッダー、フッターが含まれています。

何らかの理由でlayout.htmlが呼び出されず、画面が空白になります。

ルーティング:

app 
    .run(['$rootScope', '$state', '$stateParams', 
     function ($rootScope, $state, $stateParams) { 
      $rootScope.$state = $state; 
      $rootScope.$stateParams = $stateParams; 
      $rootScope.$on('$stateChangeSuccess', function() { 
       window.scrollTo(0, 0); 
      }); 
      FastClick.attach(document.body); 
     }, 
    ]) 
    .config(['$stateProvider', '$urlRouterProvider', '$locationProvider', 
     function ($stateProvider, $urlRouterProvider, $locationProvider) { 

      // Remove da Url o " ! ", localhost:8080/#!/ 
      $locationProvider.hashPrefix(''); 

      $urlRouterProvider.otherwise('/'); 

      // Application routes 
      $stateProvider 
       .state('app', { 
        abstract: true, 
        templateUrl: 'views/common/layout.html', 
       }) 


       .state('app.dashboard', { 
        url: '/', 
        templateUrl: 'views/dashboard.html', 
        resolve: { 
         deps: ['$ocLazyLoad', function ($ocLazyLoad) { 
          return $ocLazyLoad.load([ 
           { 
            insertBefore: '#load_styles_before', 
            files: [ 
             'styles/climacons-font.css', 
             'vendor/rickshaw/rickshaw.min.css' 
            ] 
           }, 
           { 
            serie: true, 
            files: [ 
             'vendor/d3/d3.min.js', 
             'vendor/rickshaw/rickshaw.min.js', 
             'vendor/flot/jquery.flot.js', 
             'vendor/flot/jquery.flot.resize.js', 
             'vendor/flot/jquery.flot.pie.js', 
             'vendor/flot/jquery.flot.categories.js', 
            ] 
           }, 
           { 
            name: 'angular-flot', 
            files: [ 
             'vendor/angular-flot/angular-flot.js' 
            ] 
           }]).then(function() { 
           return $ocLazyLoad.load('js/controllers/dashboard.js'); 
          }); 
         }] 
        }, 
        data: { 
         title: 'Dashboard', 
        } 
       }) 

}]); 

Layout.html:

<!-- preloader --> 
<preloader class="preloader ng-hide"></preloader> 
<!-- /preloader --> 

<!-- sidebar panel --> 
<div class="sidebar-panel offscreen-left" data-ng-include="'./views/common/sidebar-panel.html'"></div> 
<!-- /sidebar panel --> 

<!-- content panel --> 
<div class="main-panel"> 

    <!-- top header --> 
    <div class="header navbar" data-ng-include="'./views/common/header.html'"></div> 
    <!-- /top header --> 

    <!-- main area --> 
    <div class="main-content {{$state.current.data.contentClasses}}" data-ui-view="data-ui-view"></div> 
    <!-- /main area --> 

</div> 
<!-- /content panel --> 

<!-- bottom footer --> 
<footer class="content-footer" data-ng-include="'./views/common/footer.html'"></footer> 
<!-- /bottom footer --> 

<!-- chat --> 
<div class="chat-panel" data-ng-class="{'conversation-open': app.layout.isConversationOpen}" data-ng-include="'./views/common/chat-panel.html'"></div> 
<!-- /chat --> 

<!-- options panel --> 
<div class="configuration" data-ng-include="'./views/common/options.html'" data-ng-class="{'active': app.isConfigOpen}"></div> 
<!-- /options panel --> 

Index.htmlと:

<body data-ng-controller="appController" class="{{ app.layout.sidebarTheme }} {{ app.layout.headerTheme }}"> 

<!--<div data-ng-include="'./views/common/layout.html'"></div>--> 





</body> 

<div class="app {{$state.current.data.appClasses}}" 
    data-ng-class="{'layout-small-menu': app.layout.isSmallSidebar, 
        'layout-chat-open': app.layout.isChatOpen, 
        'layout-fixed-header': app.layout.isFixedHeader, 
        'layout-boxed': app.layout.isBoxed, 
        'layout-static-sidebar': app.layout.isStaticSidebar, 
        'layout-right-sidebar': app.layout.isRightSidebar, 
        'layout-fixed-footer': app.layout.isFixedFooter, 
        'message-open': app.isMessageOpen}" 
    data-ui-view="data-ui-view"> 
</div> 

あなたは私のindex.hmlを見れば、コメント行は、そこにありますこの行は私のlayout.htmlへの強制的な呼び出しです。コメントを外す場合はlayout.htmlが2回呼び出され、1つは他のものを受け取りますnt the line画面が再び空に戻ります。 ありがとうございます

+0

ありがとうございます。 – chrylis

答えて

0

私が激しく殴られた後、私は問題が何かを発見しました。角度についての記事を読んで、私は、UIデータ-UI-view属性が常に満たされるべきであることを指示された:

<div data-ui-view="data-ui-view"> 

を、私は私のインデックスにこれをしたところ。

ソリューションは、属性値の除去だった:

<div data-ui-view=""> 

私は、これはサーバー側片で行うには全く何も持っていることがわかりません

関連する問題