AngularJs ui-router路由跳转传参

妖狐艹你老母 2021-07-25 01:52 501阅读 0赞
  1. 1、在跳转a标签中通过跳转指令设置
  2. ui-sref='state名称({键值对1,键值对2})'
  3. 其中,值如果是变量会自动解析,如果是字符串需要加""
  4. 2、在对应state路由中设置
  5. url路径后添加"/{键名}/{键名}"
  6. 3、读取参数
  7. 在对应的controller中,注入$stateParams
  8. $stateParams.键名调用

代码示例:

  1. <html ng-app="app" ng-controller="main">
  2. <head>
  3. <meta charset="utf-8">
  4. <title ></title>
  5. <script src="js/libs/angular.js"></script>
  6. <script src="js/libs/angular.route.min.js"></script>
  7. <script src="https://cdn.bootcss.com/angular-ui-router/1.0.25/angular-ui-router.js"></script>
  8. <style>
  9. .a{
  10. color:red;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <div ng-controller='d1'>
  16. <a href="#">首页</a>
  17. <a href="#/home">home</a>
  18. //传入参数
  19. <a href="" ui-sref='movie({sex:"male",age:"18"})'>movie</a>
  20. <a href="" ng-click="go('home')">跳转到home</a>
  21. <!-- 当访问路由出错,会显示内容 -->
  22. <div ui-view>页面不存在</div>
  23. </div>
  24. <script>
  25. var app=angular.module('app',['ui.router']);
  26. app.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){
  27. //将'/hd'设置为默认页,打开页面自动跳转
  28. $urlRouterProvider.otherwise('');
  29. //创建路由
  30. $stateProvider.state('default',{
  31. //路径为空表示在当前页面
  32. url:'',
  33. template:'<h1>哈哈</h1>'
  34. })
  35. .state('home',{
  36. url:'/home',
  37. template:'<h1>home{ {name}}</h1>',
  38. //控制器
  39. controller:['$scope',function($scope){
  40. $scope.name='jeff'
  41. }]
  42. })
  43. .state('movie',{
  44. //接收参数
  45. url:'/movie/{sex}/{age}',
  46. templateUrl:'./angular/user.html',
  47. controller:'movieCon'
  48. })
  49. }])
  50. app.controller('main',['$scope',function($scope){
  51. }])
  52. app.controller('d1',['$scope','$state',function($scope,$state){
  53. $scope.go=function(url)
  54. {
  55. $state.go(url);
  56. }
  57. }])
  58. app.controller('movieCon',['$scope','$stateParams',function($scope,$stateParams){
  59. $scope.age=17;
  60. $scope.user=[
  61. { id:1,name:'jeff'},
  62. { id:2,name:'mike'}
  63. ]
  64. //读取参数
  65. console.log($stateParams.sex,$stateParams.age)
  66. }])
  67. </script>
  68. </body>
  69. </html>

发表评论

表情:
评论列表 (有 0 条评论,501人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue+

    之前在原生JS的开发中,我们经常会用到根据某一状态进行页面的跳转。 比如:登录成功跳到首页,点击商品列表的某个商品跳转商品详情等。 而常见的写法就是: locat