溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angular 路由router的用法總結(jié)

發(fā)布時間:2020-08-05 10:21:33 來源:網(wǎng)絡 閱讀:4494 作者:oQo先生 欄目:開發(fā)技術



1,html頁面

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>Document</title>
    <script src="http://cdn.bootcss.com/angular.js/1.5.3/angular.js"></script>
    <script src="http://cdn.bootcss.com/angular.js/1.5.3/angular-route.js"></script>
    <script src="../modules/mainModule.js"></script>
    <script src="../router/route.js"></script>
    <script src="../controllers/mainControllers.js"></script>
    <script src="../controllers/tab01.controller.js"></script>
    <script src="../controllers/tab02.controller.js"></script>

    <link rel="stylesheet" href="../public/css/main.css">
</head>
<body ng-controller="mainCtrl">
    <div id="wrap">
        <header>
            <h2>
                {{
                    name
                }}
           </h2>
        </header>
        <div id="content">
             <ng-view>  
                <!--自定義指令 directive  ---- 自定義標簽 自定義屬性 組件 -->
                <!--嵌套的視圖-->
            </ng-view> 
        </div>
        <div id="tabbox">
            <ul>
                <li><a href="#/tab1">選項卡1</a></li>
                <li><a href="#/tab2:maxiaotian">選項卡2</a></li>
            </ul>
        </div>
    </div>
</body>
</html>

注:路由之間的傳參,可以使用方法:在路由的虛擬路徑后面加上“:參數(shù)”,例如“<a href="#tab02:xiaoming"></a> ”,該方法是遵循的restful API的設計規(guī)范。


3,controller文件夾下的mainController.js、tab01.controller.js、tab02.controller.js文件

main.controller("mainCtrl",["$scope",'$interval',function($scope, $interval){
    $scope.name = "--平凡的世界--"
    //  var count = 0;
    // $interval(function () { 
    //     count ++
    //     console.log(count)
    //  },1000);
}])

//$timeout $interval
main.controller("myTab01",["$scope","$timeout",function($scope,$timeout){
   //...
   
}])
main.controller("myTab02",["$scope",function(){
    //...
}])

3,配置路由:

    3.1,因為要用到angular的路由,所以要依賴注入路由服務 在modules文件下的mainModule.js文件

var main = angular.module("myapp",[$ngRouter]);

    3.2,配置路由文件router.js

//$routeProvider 提供路由服務
//$locationProvider 路由里地址欄服務
main.config(["$routeProvider","$locationProvider",function($routeProvider,$locationProvider){
    $routeProvider 
    .when("/tab1",{  //地址欄訪問 tab1路徑的時候 跳轉(zhuǎn)掉../view/tab01.html頁面
        templateUrl:"../view/tab01.html",
        controller:"myTab01"
    })
    .when("/tab2:num",{  //地址欄訪問 tab1路徑的時候 跳轉(zhuǎn)掉../view/tab01.html頁面
        templateUrl:"../view/tab02.html",
        controller:"myTab02"
    })
    .otherwise({
        redirectTo:"/tab1"
    })
}])


angular的路由有兩種:ng-router和ui-router。兩者的區(qū)別:ng-router只能嵌套單頁面、ui-router可以嵌套多視圖頁面;

一個項目架構包括:m(module數(shù)據(jù)層)、v(view視圖層)、c(controller控制器層)、filter(過濾器:放置自己寫的自定義過濾器js文件)、public(公共資源層)、router(路由層)、node_modules(用于安裝)、server(服務);

 


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI