先看需求:在dashboard页面,点击任何一个hero之后,

期望跳转到明细页面:同时浏览器地址栏也对应发生变化。

下面是具体实现步骤。

(1) app module:其中应用逻辑包含在NgModule的declarations区域内:

(2) AppRouter的实现:可以跳转到Hero Component,Hero detail Component和dashboard Component,其中路由到detail Component就是通过带参数的配置完成的,下图第11行detail/:id中的冒号,代表后面的id为url中的跳转参数。

现在hero Component仅仅是显示hero 列表:

而hero detail Component,显示hero属性对象的id和name:

然而detail Component的hero属性,是从哪里被赋值的呢?
查看其实现文件可知,从detail Component的route属性里提取出被点击的hero id,然后调用hero service根据hero id拿到具体的hero数据,再写入Component的hero属性。

The ActivatedRoute holds information about the route to this instance of the HeroDetailComponent. This component is interested in the route’s parameters extracted from the URL. The “id” parameter is the id of the hero to display.

其中route属性的类型ActivatedRoute,维护了detail Component实例的路由信息。

(3) 最后是dashboard的实现:

使用routerLink指令配置每个a标签的href属性:

最后生成的原生html页面里的href属性值:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

Angular应用带参数的路由实现相关推荐

  1. ant design pro之带参数的路由

    脚手架默认支持带参数的路由,但是在菜单中显示带参数的路由需要在代码中自行处理 {path: '/dashboard/:page',hideInMenu:true,name: 'analysis',co ...

  2. nuxt 带参数动态路由

    nuxt是基于vue.js服务端渲染的框架,其中路由文件不像vue项目那样手动配置,而是依据 pages 目录结构自动生成 vue-router 模块的路由 配置. 基于项目seo优化需求,需要将路由 ...

  3. angular获取路由参数_Angular应用带参数的路由实现

    先看需求:在dashboard页面,点击任何一个hero之后, 期望跳转到明细页面:同时浏览器地址栏也对应发生变化. 下面是具体实现步骤. (1) app module:其中应用逻辑包含在NgModu ...

  4. vue --- 使用vue-router获取带参数的路由

    希望的效果如下: 2个路由: 点击如下 步骤. 使用 router-link 来指定路由路径 在router.js中指定 路径的 事件处理函数(对应的组件) 创建对应的组件 router-link 找 ...

  5. 详解vue 路由跳转四种方式 (带参数)

    本文介绍了vue 路由跳转四种方式 (带参数),本文通过实例代码给大家介绍的详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1. router-link 1. 不带参数 <router-li ...

  6. Python:闭包(简介、使用方法、nonlocal修改闭包内使用的外部变量)、装饰器(定义、作用、通用装饰器、多个装饰器、带参数的装饰器、类装饰器、装饰器方式添加WEB框架的路由)

    一.闭包的介绍 闭包可以保存函数内的变量 当闭包执行完毕,外部函数的变量才释放. # 闭包的作用:可以保存外部函数的变量 # 闭包的形成条件 # 1.函数嵌套 # 2.内部函数使用了外部函数的变量或者 ...

  7. vue路由跳转写法在html,详解vue 路由跳转四种方式 (带参数)

    1.  router-link 1. 不带参数 //name,path都行, 建议用name // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由 ...

  8. 微信小程序路由,带参数跳转及接收

    微信小程序的跳转形式有多种 1.wx.navigateTo 保留当前页面,跳转到应用内的某个页面,但是不能跳到 tabbar 页面 带参数跳转,以下都是一样. wx.navigateTo({url: ...

  9. ANGULAR自带指令有哪些?

    1.背景介绍 AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 通过内置的指令来为应用添加功能. AngularJS 允许你自定义指令. 2.知识剖析 angula ...

最新文章

  1. EditText 长按弹出的上下文菜单
  2. 用SAPI实现Speech Recognition(SR) - 命令控制模式
  3. 2016c语言模拟试卷一,2016年9月计算机二级C语言考试预测试题及答案(4)
  4. Linux学习:文件 I/O 函数
  5. 从入门到入土:Python爬虫学习|实例练手|爬取猫眼榜单|Xpath定位标签爬取|代码
  6. 人生之清单(list of life)
  7. sudo使用之实现权限分配
  8. 微信支付相关开发问题解决方案收集汇总
  9. 在成长中遇到的挫折事件对你的影响_孩子一遇到困难就退缩?3个方法培养孩子逆商,提升抗挫折能力...
  10. 阿里云CDN、DCDN、SCDN的区别
  11. 关闭Ubuntu错误报告
  12. 华为eNSP下载与安装
  13. 根据经纬度使用百度和高德地图 进行导航
  14. Linux系统(三)系统基础扫盲大全
  15. 服务器ahci模式安装系统,u盘装系统硬盘模式怎么设置|u盘装系统BIOS设置ide/ahci方法...
  16. java除swing以外的界面_关于java的swing界面开发总结
  17. Torque引擎系列
  18. 【NHOI2018】跳伞登山赛
  19. 电子元器件贸易如何应用采购管理系统,做好采购订单交期管理?
  20. Python加密word文档

热门文章

  1. nginx tomcat 负载
  2. 2010年IT人士必去的10个网站
  3. 与陆毅擦肩而过。。。
  4. 大型企业网络配置系列课程详解(四) --HSRP和VRRP配置与相关概念的理解(一)...
  5. Python基础入门笔记(二)
  6. Day 06 元组,字典,集合
  7. 《软件需求最佳实践》阅读笔记01
  8. mysql ERROR 1045 (28000): 错误解决办法
  9. Servlet中response对象Commit状态的分析
  10. 前端面试题整理【转】