搜索

首页  >  问答  >  正文

angular.js - 使用angular route的时候,页面切换会暂时性出现一段空白,然后内容才加载出来

我想大声告诉你我想大声告诉你2861 天前559

全部回复(2)我来回复

  • 世界只因有你

    世界只因有你2017-05-15 16:59:47

    用ui-router

    <!doctype html>
    
    <html ng-app="myApp">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">   
    
    <link rel="stylesheet" type="text/css" href="bootstrap.css" media="all">
     <script src="angular.min.js"></script>
        <script src="angular-ui-router.min.js"></script>
    
      
    </head>
    <body>
    <p class='container'>
        <a ui-sref="state1">State 1</a>
        <a ui-sref="state2">State 2</a>
    
    
    <p class="row">
        <p class="span12">
          <p class="well" ui-view></p>        
        </p>
      </p>         
    
    </p>
    
    <script type="text/javascript">
      var myApp = angular.module('myApp', ['ui.router']);
    myApp.config(function($stateProvider, $urlRouterProvider) {
    
      $urlRouterProvider.otherwise("/state1");
    
      $stateProvider
        .state('state1', {
          url: "/state1",
          templateUrl: "partials/state1.html"
        })
        .state('state1.list', {
          url: "/list",
          templateUrl: "partials/state1.list.html",
          controller: function($scope) {
            $scope.items = ["one","two"];
          }
        })
        .state('state2', {
          url: "/state2",
          templateUrl: "partials/state2.html"
        })
        .state('state2.list', {
          url: "/list",
          templateUrl: "partials/state2.list.html",
          controller: function($scope) {
            $scope.things = ["three",'four'];
          }
        });
    });
    
    </script>
    </body>
    </html>

    回复
    0
  • 迷茫

    迷茫2017-05-15 16:59:47

    因为这里templateurl相当于发起了一个异步请求,可能是因为这个,可以尝试先将需要加载的template缓存,推荐使用ui-router

    回复
    0
  • 取消回复