• agularJs 路由


    angularJs的路由方式:

    先定义一个模板ng-app-->然后定义路由的规则(routeProvider)在服务config里-->然后通过不同的URL实现

    到单页面加载的所需页面的效果。

    以上只是大概流程。

    <!doctype html>
    <html lang="en" ng-app="myApp">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="angular.min.js"></script>
        <!-- 这是需要插件引入的:angular-route
        注意不同版本的angularJs,插件最好对应上这个版本的号,(如果找不到对应版本,相近版本也可以) -->
    <script src="http://cdn.bootcss.com/angular.js/1.2.9/angular-route.min.js"></script>
    </head>
    <body ng-controller="myCon">
        <!-- 路由 -->
        <!-- ng-click="$location.path('/aaa')" 来改变路径
            功能与href的哈希值一样
        -->
        <a href="#aaa/123">首页</a>
        <a href="#bbb/345">aass</a>
        <a href="#ccc/76567">qqoc</a>
        <div ng-view></div>
        <script>
        // 使用插件ngRoute
        // 可以实现页面切换的效果
        // 还有历史记录的功能,可以返回
            var myApp=angular.module("myApp",["ngRoute"])
            // config配置是最早就执行的方法,所以在里面写好路由规则
            .config(['$routeProvider',function($routeProvider){
                $routeProvider
                /*路由跳转的函数*/
                .when("/aaa/:num",{
                    template: '<p>首页送你温暖</p>{{name}}',
                    /*可以定义一个控制器,来限制作用域*/
                    controller:"aaa"
                })
                .when("/bbb/:num",{
                    template: '<p>aass送你高温</p>{{name}}',
                    controller:"bbb"
                })
                .when("/ccc/:num",{
                    template: '<p>qqoc送你高冷</p>{{name}}',
                    controller:"ccc"
                })
                // 配置其他的路径跳转,可以想成default
                .otherwise({
                    // 重定向地址
                    // 可以理解为设置默认路径
                    redirectTo:"/aaa"
                })
            }])
    
            // 假设我们需要在每次路由发生变化时,都执行一个函数来验证用户的权限,放置这个功能唯一合理的地方就是run方法
            // 不过它是全局的
            .run(["$rootScope",function($rootScope){
                // $on用于接收event与data
                // $routeChangeStart这个事件会在路由跳转前触发
                $rootScope.$on("$routeChangeStart",function(ev,current,pre){
                    // 接受三个参数,一个是事件对象,一个是当前对象,一个是之前的对象
                    console.log(ev);
                    console.log(current);
                    console.log(pre);
                })
            }])
            .controller("myCon",["$scope","$routeParams","$location",function($scope,$routeParams,$loaction){
                // $scope.$loaction=$loaction;
                // console.log($loaction);
                // 服务$routeParams保存了地址栏中的参数,例如{id : 1, name : 'tom'}
                console.log($routeParams);
            }])
            .controller("aaa",["$scope",function($scope){
                $scope.name="za";
            }])
            .controller("bbb",["$scope",function($scope){
                $scope.name="cs";
            }])
            .controller("ccc",["$scope",function($scope){
                $scope.name="vd";
            }])
        </script>
    </body>
    </html>

    简化版代码:

    这个可以更加简单的知道它的基础使用;

    <!doctype html>
    <html lang="en" ng-app="myApp">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="angular.min.js"></script>
        <!-- 这是需要插件引入的:angular-route
        注意不同版本的angularJs,插件最好对应上这个版本的号,(如果找不到对应版本,相近版本也可以) -->
    <script src="http://cdn.bootcss.com/angular.js/1.2.9/angular-route.min.js"></script>
    </head>
    <body>
        <!-- 路由 -->
        <a href="#aaa">首页</a>
        <a href="#bbb">aass</a>
        <a href="#ccc">qqoc</a>
        <div ng-view></div>
        <script>
        // 使用插件ngRoute
        // 可以实现页面切换的效果
        // 还有历史记录的功能,可以返回
            var myApp=angular.module("myApp",["ngRoute"])
            // config配置是最早就执行的方法,所以在里面写好路由规则
            .config(['$routeProvider',function($routeProvider){
                $routeProvider
                /*路由跳转的函数*/
                .when("/aaa",{
                    template: '<p>首页送你温暖</p>{{name}}'
                })
                .when("/bbb",{
                    template: '<p>aass送你高温</p>{{name}}'
                })
                .when("/ccc",{
                    template: '<p>qqoc送你高冷</p>{{name}}'
                })
                
            }])    
            
        </script>
    </body>
    </html>
  • 相关阅读:
    dfssvc.exe
    我左边的公告
    再做了一个LOGO
    做一个调查,请大家帮忙
    如果年三十没有人陪我
    我喜欢这个模版
    cisvc.exe是什么服务
    IIS与SQL服务器安全加固
    终于申请到了blogs
    重发LOGO
  • 原文地址:https://www.cnblogs.com/zhangzhicheng/p/6026921.html
Copyright © 2020-2023  润新知