angular.js 路由及页面传参示例


Posted in Javascript onFebruary 24, 2017

页面传参数方法:1、$rootScope。2、(url)/user/:name/:age。

页面转换方法:1、href="#/" rel="external nofollow" rel="external nofollow" rel="external nofollow" 。2、$state.Go。3、$location.path。4、ui-sref

(1)自带路由ngRoute

<html> 
  <head> 
    <meta charset="utf-8"> 
    <title>AngularJS 路由实例</title> 
  </head> 
  <body ng-app='routingDemoApp' ng-controller="myCtrl"> 
    <h2>AngularJS 路由应用</h2> 
       名: <input type="text" ng-model="names"><br> 
    <ul> 
      <li><a href="#/" rel="external nofollow" rel="external nofollow" rel="external nofollow" >首页1</a></li> 
      <li><a href="#/second/2/3" rel="external nofollow" >second</a></li> 
      <li><a href="#/printers" rel="external nofollow" >打印机</a></li> 
      <li><a href="#/blabla" rel="external nofollow" >其他</a></li> 
    </ul> 
    <div ng-view></div> 
    <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js" ></script> 
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    <script src="http://apps.bdimg.com/libs/angular-route/1.3.13/angular-route.js"></script> 
    <script> 
    var transform =function(data){return $.param(data);  }  
      var app=angular.module('routingDemoApp',['ngRoute']); 
      app.controller('myCtrl', function($scope,$http, $rootScope) { 
         $http({ 
          method:'POST', 
          url:"http://localhost:8090/angu_demo/test.chtm", 
          data:{"age":20 } 
         })  
        .success(function(data,header,config,status){ 
        //响应成功 
          $scope.names = data[0].age; 
          $rootScope.name="rrrrrr"; 
 
        }).error(function(data,header,config,status){ 
        //处理响应失败 
        }); 
      }); 
      app.controller('AboutController', function($scope,$http,$rootScope,$routeParams) { 
         
         $scope.id = $routeParams.id; 
        $scope.age = $routeParams.age;  
        $scope.name=$rootScope.name; 
       
      }) 
      app.config(['$routeProvider', function($routeProvider){ 
        $routeProvider 
        .when('/',{template:'这是首页页面'}) 
        .when('/second/:id/:age', 
          {templateUrl: 'second.html', 
          controller: 'AboutController'} 
        ) 
        .when('/printers',{template:'这是打印机页面'}) 
        .when('/second_2',{template:'这是second_2'}) 
        .otherwise({redirectTo:'/'}); 
      }]); 
       
      
    </script> 
    
    
  </body> 
</html>

(2)ui-router

<html> 
  <head> 
    <meta charset="utf-8"> 
    <title>AngularJS 路由实例 </title> 
     <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>  
 
    <script src="http://cdn.bootcss.com/angular-ui-router/1.0.0-beta.3/angular-ui-router.js"></script>  
   
  </head> 
  <body ng-app="routerApp" > 
  <div ng-controller="MainCtrl"> 
    <ul> 
      <li><a href="#/" rel="external nofollow" rel="external nofollow" rel="external nofollow" >首页1</a></li> 
      <li><a href="#/second/" rel="external nofollow" >second</a></li> 
      <li><a href="#/third" rel="external nofollow" >third</a></li> 
    </ul> 
    <a href="#/fourth/42" rel="external nofollow" >href传参数</a> 
    <a ui-sref="fifth({'name':123,'id':256})">ui-sref传参数</a> 
    <button ng-click="ngclick_go()" class="btn btn-primary " >state.go传参数</button> 
     <button ng-click="ngclick_location()" class="btn btn-primary " >location传参数</button> 
     <div ui-view></div>  
     <div ui-view="second0"></div>  
    <div ui-view="second1"></div>  
    <div ui-view="second2"></div>  
</div> 
  <script type="text/javascript"> 
   /* var app = angular.module('routerApp', ['ui.router']); */ 
   var app=angular.module('routerApp',['ui.router']); 
   app.controller('MainCtrl', function($scope, $state,$location) { 
     $scope.ngclick_go = function() { 
       $state.go('sixth',{name: 42}); // 跳转后的URL: #/camnpr/appManager 
      }; 
      $scope.ngclick_location = function() { 
        $location.path('/sixth/detail/42'); // 功能也是跳转的 
      }; 
      
      
     
    }); 
    app.config(function($stateProvider, $urlRouterProvider) { 
      $urlRouterProvider.otherwise('/second');  //与原生的$routerProvider写法不一样的就是$urlRouterProvider先写默认路径 
      $stateProvider   //再用$stateProvider.state('',{}).state('',{})...代替$routerProvider.when()方法 
        .state('second', { 
          url: '/second', 
           views: {'second0': { 
              templateUrl: 'second0.html' ,  //看到templateUrl:后面包含了很多的模板 
              controller: 'MainCtrl'  
            }, 
            'second1': { 
              templateUrl: 'second1.html', 
              controller: 'MainCtrl' 
               
            }, 
            'second2': { 
              templateUrl: 'second2.html', 
              controller: 'MainCtrl' 
            } 
          }  
        }) 
        .state('third', { 
          url: '/third', 
          templateUrl: 'third.html' ,   //看到templateUrl:后面包含了很多的模板 
          controller: 'MainCtrl'  
        }) 
         
         .state('fourth', { 
          url: '/fourth/:name', 
          templateUrl: 'forth.html' ,    //看到templateUrl:后面包含了很多的模板 
          controller: function ($stateParams,$scope) { 
            $scope.name=$stateParams.name; 
            alert(=$stateParams.name) 
          } 
 
        }) 
         .state('fifth', { 
          url: '/fifth/:name/:id', 
          templateUrl: 'fifth.html' ,    //看到templateUrl:后面包含了很多的模板 
          controller: function ($stateParams,$scope) { 
            alert($stateParams.name+"  "+$stateParams.id) 
          } 
 
        }) 
        .state('sixth', { 
          url: '/sixth/detail/:name', 
          templateUrl: 'sixth.html' ,    //看到templateUrl:后面包含了很多的模板 
          controller: function ($stateParams,$scope) { 
            alert($stateParams.name) 
          } 
 
        }) 
        /* .state('fourth', { 
          url: '/fourth/:name', 
          templateUrl: 'third1.html' ,    //看到templateUrl:后面包含了很多的模板 
          controller: function ($stateParams,$scope) { 
            $scope.name=$stateParams.name; 
          } 
 
        }) */ 
         
    }); 
  
   </script> 
    
  </body> 
</html>

下载地址:angu_demo_3water.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 Javascript
javaScript实现浮点数转十六进制字符
Oct 29 Javascript
Jquery解析json数据详解
Dec 26 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
JavaScript简单实现弹出拖拽窗口(二)
Jun 17 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
May 26 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
js Dom实现换肤效果
Oct 21 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
Feb 22 Javascript
解决linux下node.js全局模块找不到的问题
May 15 Javascript
fastadmin中调用js的方法
May 14 Javascript
微信小程序实现签到弹窗动画
Sep 21 Javascript
实例解析js中try、catch、finally的执行规则
Feb 24 #Javascript
js中开关变量使用实例
Feb 24 #Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 #Javascript
js实现导航吸顶效果
Feb 24 #Javascript
canvas绘制多边形
Feb 24 #Javascript
angularjs实现多张图片上传并预览功能
Feb 24 #Javascript
Angularjs分页查询的实现
Feb 24 #Javascript
You might like
当海贼王变成JOJO风
2020/03/02 日漫
那些年一起学习的PHP(三)
2012/03/22 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
php获取微信openid方法总结
2019/10/10 PHP
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
解析Python中的二进制位运算符
2015/05/13 Python
你真的了解Python的random模块吗?
2017/12/12 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
查看django版本的方法分享
2018/05/14 Python
python 实现屏幕录制示例
2019/12/23 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python多线程thread及模块使用实例
2020/04/28 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
Python调用Redis的示例代码
2020/11/24 Python
历史专业毕业生的自我鉴定
2013/11/15 职场文书
劳资人员岗位职责
2013/12/19 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
2015入党自传格式范文
2015/06/26 职场文书
golang json数组拼接的实例
2021/04/28 Golang
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js