angular 路由router的用法总结

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>
            <h1>
                {{
                    name
                }}
           </h1>
        </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(过滤器)、public(公共资源层)、router(路由)、node_modules;

时间: 2024-08-09 17:41:19

angular 路由router的用法总结的相关文章

angular当router使用userhash:false时路由404问题

angular当router使用userhash:false时路由404问题 安装iis urlrewrite2.0组件 在根目录下创建 Web.config <configuration> <system.webServer> <rewrite> <rules> <rule name="AngularJS Routes" stopProcessing="true"> <match url="

angular路由(自带路由篇)

一.angular路由是什么? 为了实现SPA多视图的切换的效果,其原理可简述为每个 URL 都有对应的视图和控制器.所以当我们给url后面拼上不同的参数就能通过路由实现不同视图的切换. 二.文件总览 1.新建文件 一级目录新建ngRoute.html(为主页面,里面进行路由配置) 一级目录新建view文件夹,里面再新建三个子页面aboutus.html,home.html,order.html 一级目录存放angular.js和angular-route.js文件,文件存放位置依自己喜好即可

Angular路由的定义和使用

一.什么是routing(路由) Almost all non-trivial, non-demo Single Page App (SPA) require multiple pages. A settings page is different from a dashboard view. The login page is different from an accounts page(设置页面不同于控制页面,登录页面不同于账号信息页面....就是说一个应用很多功能不同的页面) 我们可以使

angular路由详解:

1.$routeProvider ngRoute模块中的服务 2.otherwise:设置用于路由改变时,与任何其他定义的路由无法匹配的时候执行的代码 3.when:为$route服务定义新的路由 例 var app=angular.module('myApp',['ngRoute']); //配置angular路由//$routeProvider是ngRoute模块中的服务 app.config(function($routeProvider){ //when:第一个值是配置路由的名称,第二个

[Angular2 Router] Configure Auxiliary Routes in the Angular 2 Router - What is the Difference Towards a Primary Route?

In this tutorial we are going to learn how we can can configure redirects in the angular 2 router configuration. We are also going to see again another example on how the order of the configuration might trip us. We are going to see the different bet

[Angular 2 Router] Configure Your First Angular 2 Route

Using the Angular 2 router requires defining routes, passing them in to the RouterModule.forRoot and then importing the configured RouterModule into your main App Module. Use the Wiki Search as example project. Create a HomeComponent to contain every

Android业务组件化之子模块SubModule的拆分以及它们之间的路由Router实现

前言: 前面分析了APP的现状以及业务组件化的一些探讨(Android业务组件化之现状分析与探讨),以及通信的桥梁Schema的使用(Android业务组件化之URL Schema使用),今天重点来聊下子模块SubModule的拆分以及它们之间的路由Router实现.本篇涉及的相关知识比较多,阅读本篇之间需要大致了解一下Java的注解(Java学习之注解Annotation实现原理).Java的动态代理机制(Java设计模式之代理模式(Proxy))等.业务组件化是一个循序渐进的过程,一开始很难

angular 路由去除#号

1.  路由启动          $locationProvider.html5Mode(true); app.js define([ 'angular', "App/Ctrl/controllers", "App/Directive/directive", "angularRoute" ], function (angular,controllers,directives,appDirec) { var app=angular.module(

angular directive restrict 的用法

E 表示该指令是一个element; A 表示该指令是attribute; C 表示该指令是class; M 表示该指令是注视 实例如下: 原帖:www.thinkster.io/angularjs/rep5re7gTM/angularjs-directive-restrictions While it’s cool to make a custom element like we did the the previous cast, it’s actually more common to d