1. 程式人生 > >angularjs單一頁面內設定跳轉路由

angularjs單一頁面內設定跳轉路由

單一頁面內設定跳轉路由

鑑於現在很多應用的應用功能以及場景都非常簡單,如果還按照以前的思路,每個頁面做一個html,通過路由進行跳轉,不僅在時間上會有延遲,在某些特殊的瀏覽器(最典型的如微信內建瀏覽器)中,跳轉過程中會出現短暫的白頁。

因此,我們在開發過程中,將頁面邏輯封裝到同一個html中。當系統第一次載入頁面時,將所有頁面全部載入進去,然後通過angularJS內建的路由進行載入。

直接上程式碼

  1. 宣告app
   <script type="text/javascript">
        var app = angular.module('ngRouteWxCtb'
, ['ngRoute','ngCookies']) .config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/0', { templateUrl: '0.html', controller: 'loginCtrl' }).when('/1', { templateUrl: '1.html', controller:
'1Ctrl' }).when('/2', { templateUrl: '2.html', controller: '2Ctrl' }).when('/3', { templateUrl: '3.html', controller: '3Ctrl' }).when('/4', { templateUrl:
'4.html', controller: '4Ctrl' }).when('/5', { templateUrl: '5.html', // controller: '5Ctrl' }).otherwise({redirectTo: '/login'}); }]); </script>
  1. 在頁面中全部載入所有view
<body ng-app="ngRouteWxCtb" class="ng-scope">
<!--使用者登入-start-->
<script type="text/ng-template" id="0.html">
    <div>
    頁面0
    </div>

</script>
<!--使用者登入-end-->

<!--加入校區-start-->
<script type="text/ng-template" id="1.html">
    <div>
    頁面1
    </div>

</script>
<!--加入校區-end-->

<!--裁剪圖片-start-->
<script type="text/ng-template" id="2.html">
    <div>
    頁面2
    </div>
</script>

<!--開始上傳圖片 - start-->
<script type="text/ng-template" id="3.html">
    <div>
    頁面3
    </div>
</script>
<!--開始上傳圖片-end-->

<!--上傳圖片-start-->
<script type="text/ng-template" id="4.html">
    <div>
    頁面4
    </div>
</script>
<!--上傳圖片-end-->
<!--上傳圖片完成-start-->
<script type="text/ng-template" id="5.html">
    <div>
    頁面5
    </div>
</script>

<audio controls="controls" style="display: none;"></audio>
  1. 然後通過路由進行跳轉
app.controller('loginCtrl', function ($scope, $http, $interval, $cookies, $location, userService) {

    $scope.LoginSucessLocation = function () {
      var hre = './main#/1';
      location.href = hre;
    }

})