angularjs單一頁面內設定跳轉路由
阿新 • • 發佈:2018-12-31
單一頁面內設定跳轉路由
鑑於現在很多應用的應用功能以及場景都非常簡單,如果還按照以前的思路,每個頁面做一個html,通過路由進行跳轉,不僅在時間上會有延遲,在某些特殊的瀏覽器(最典型的如微信內建瀏覽器)中,跳轉過程中會出現短暫的白頁。
因此,我們在開發過程中,將頁面邏輯封裝到同一個html中。當系統第一次載入頁面時,將所有頁面全部載入進去,然後通過angularJS內建的路由進行載入。
直接上程式碼
- 宣告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>
- 在頁面中全部載入所有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>
- 然後通過路由進行跳轉
app.controller('loginCtrl', function ($scope, $http, $interval, $cookies, $location, userService) {
$scope.LoginSucessLocation = function () {
var hre = './main#/1';
location.href = hre;
}
})