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 相关文章推荐
javascript innerHTML、outerHTML、innerText、outerText的区别
Nov 24 Javascript
有趣的JavaScript数组长度问题代码说明
Jan 20 Javascript
js浮动图片的动态效果
Jul 10 Javascript
jQuery实现用户注册的表单验证示例
Aug 28 Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
JavaScript表单即时验证 验证不成功不能提交
Aug 31 Javascript
angularjs 页面自适应高度的方法
Jan 17 Javascript
React Router v4 入坑指南(小结)
Apr 08 Javascript
React Form组件的实现封装杂谈
May 07 Javascript
vue路由切换之淡入淡出的简单实现
Oct 31 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
PHP+ajax 无刷新删除数据
2010/02/20 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
PHP7 其他修改
2021/03/09 PHP
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
js select option对象小结
2013/12/20 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
easy_install python包安装管理工具介绍
2013/02/10 Python
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
python实现抖音视频批量下载
2018/06/20 Python
Python格式化日期时间操作示例
2018/06/28 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
详解python中@的用法
2019/03/27 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
全球最大的服务市场:Fiverr
2017/01/03 全球购物
森林病虫害防治方案
2014/06/02 职场文书
优秀员工推荐材料
2014/12/20 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang