您好,欢迎访问成都祈钰瑶科技有限公司!

全国咨询热线

18982081108
✕

成都网站建设公司,成都网站UI设计,成都网站安全维护,成都网站内容优化服务

angular路由router的用法总结-创新互联

1,html页面

廊坊ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
<!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>

注:路由之间的传参,可以使用方法:在路由的虚拟路径后面加上“:参数”,例如“<a href="#tab02:xiaoming"></a> ”,该方法是遵循的restful API的设计规范。

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路径的时候 跳转掉../view/tab01.html页面
        templateUrl:"../view/tab01.html",
        controller:"myTab01"
    })
    .when("/tab2:num",{  //地址栏访问 tab1路径的时候 跳转掉../view/tab01.html页面
        templateUrl:"../view/tab02.html",
        controller:"myTab02"
    })
    .otherwise({
        redirectTo:"/tab1"
    })
}])

angular的路由有两种:ng-router和ui-router。两者的区别:ng-router只能嵌套单页面、ui-router可以嵌套多视图页面;

一个项目架构包括:m(module数据层)、v(view视图层)、c(controller控制器层)、filter(过滤器:放置自己写的自定义过滤器js文件)、public(公共资源层)、router(路由层)、node_modules(用于安装)、server(服务);

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。