温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

angular 路由router的用法总结

发布时间:2020-08-05 10:21:33 来源:网络 阅读:4526 作者:oQo先生 栏目:开发技术



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>

注:路由之间的传参,可以使用方法:在路由的虚拟路径后面加上“:参数”,例如“<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(服务);

 


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI