Angular1.5.8路由参数的使用

简介: 在Angular 1.5.8中,经常会涉及到页面的跳转,很多页面的跳转都需要带参数,在JSP项目中,可以使用window.location.href = 'http://hostname:port?param_1=xxx&param_2=xxx#/...

在Angular 1.5.8中,经常会涉及到页面的跳转,很多页面的跳转都需要带参数,在JSP项目中,可以使用
window.location.href = 'http://hostname:port?param_1=xxx&param_2=xxx#/path/a/b/c'的形式传参,再通过以下方式将参数设置到页面的全局变量中,在js代码获取全局的变量值

<c:forEach items="${requestScope.paramList}" var="paramObj">
     <input type="hidden" value="${paramObj['value']}" id="rootIndex_${paramObj['name']}" />
</c:forEach>

但这种方式,没办法很好地做到前后端分离

Angular提供了参数传递和接收的方法:

1. 路由配置

"index": "A140100231",
"name": "路由名称",
"key": "xxxxx",
"icon": "xxxxx",
"type": "$state",
"value": "xxxxx",
"path": "/a/b/c?param_1&param_2&param_3&param_4",
"href": "templates/report/bjk/mtcourse_order_grade_report.html",
"showMenu": "true",
"services": [
]

2. 路由跳转带参数

在父页面的Controller中,可以使用$state.go()方法进行路由跳转,跳转到子页面

// 声明控制器
angular.module('ework-ui').controller('xxxxxxController', [
  '$scope', // 注入$scope
  '$state', // 注入$state, 用于路由方面的控制
  ...
  // 其他注入的参数
  xxxxxxController
])
function xxxxxxController (
  $scope,
  $state,
  ...
  // 其他注入的参数
) {
  // ....
  // 其他业务逻辑
  
  // 路由跳转
  $state.go('路由名称', {
    param_1: 'value',
    param_2: 'value',
    param_3: 'value',
    param_4: 'value'
  })
}

3. 页面接收参数

在子页面中,可以用$stateParams接收路由中的参数

// 声明控制器
angular.module('ework-ui').controller('xxxxxxController', [
  '$scope', // 注入$scope
  '$stateParams', // 注入$stateParams, 用于获取路由参数
  ...
  // 其他注入的参数
  xxxxxxController
])
function xxxxxxController (
  $scope,
  $stateParams,
  ...
  // 其他注入的参数
) {
  // ....
  // 其他业务逻辑
  
  // 路由参数获取
  var param_1 = $stateParams.param_1
  var param_2 = $stateParams.param_2
  var param_3 = $stateParams.param_3
  var param_4 = $stateParams.param_4
  // ...
}
目录
相关文章
|
6月前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
153 0
|
3月前
|
SEO 搜索推荐 数据采集
让 JSF 应用秒变搜索引擎宠儿!揭秘 SEO 优化的神奇魔法,让你的网站脱颖而出!
【8月更文挑战第31天】随着互联网的发展,搜索引擎已成为用户获取信息的主要途径,SEO 对 Web 应用至关重要。本文介绍如何提升 JavaServer Faces(JSF)应用的 SEO 友好性,包括关键词优化、网页结构优化和外部链接建设等基础知识,并提出了使用语义化 HTML 标签、优化页面标题和描述、生成静态 HTML 页面及 URL 重写等具体策略,帮助您的网站在搜索引擎中获得更高排名。
32 0
|
3月前
|
安全 开发者
精通Angular路由管理:从基础设置到高级配置,打造复杂SPA导航系统的全方位指南
【8月更文挑战第31天】在单页应用(SPA)中,路由管理至关重要。Angular通过其强大的路由模块提供灵活高效的解决方案。本文通过代码示例详细介绍如何在Angular中设置和管理路由,包括基础路由配置、懒加载、路由保护及高级配置,帮助开发者构建高效安全的导航系统,满足复杂SPA需求。随着Angular的发展,路由管理将更加完善,值得持续关注。
33 0
|
3月前
|
JavaScript 前端开发 API
如何在 Angular 路由中使用路由解析器
如何在 Angular 路由中使用路由解析器
37 0
|
3月前
如何在 Angular 路由中使用路由守卫
如何在 Angular 路由中使用路由守卫
46 0
|
3月前
如何在 Angular 路由中使用查询参数
如何在 Angular 路由中使用查询参数
27 0
|
3月前
|
JavaScript 前端开发 测试技术
如何在 Angular 中使用懒加载路由
如何在 Angular 中使用懒加载路由
29 0
|
6月前
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
|
6月前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
6月前
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取