如何获取Angular2 RC5中的路线参数

2024-03-24

我已将我的 angular2 项目升级为RC5 using angular-cli@webpack.

我提供的路由如下:

const appRoutes: Routes = [
    { path: 'project-manager', component: ProjectManagerComponent },  
    { path: 'designer/:id', component:DesignerComponent } ,
    {path: '',redirectTo: '/project-manager',pathMatch: 'full'} 
];

我使用 routerLink 重定向到设计器组件:

<a [routerLink]="['/designer', page._id]"><i class="fa fa-eye fa-fw"></i></a>

现在它已成功重定向,我可以在浏览器的地址栏中看到参数值。

现在我想知道,如何在 angular2 RC5 中的 DesignerComponent 中访问此参数。


我相信您需要使用路由器中的 ActivatedRoute 来操作您的参数。

import { ActivatedRoute } from '@angular/router';

...

constructor(private route: ActivatedRoute, ...) {
}

// TODO :: Add type
value: any;  // -> wanted parameter (use your object type)

ngOnInit() {
    // get URL parameters
    this.route.params.subscribe(params => {
      this.value = params.id; // --> Name must match wanted parameter
    });
}

不要忘记导入OnInit from @angular/core如果你也需要的话。

N.B :您还可以使用this.route.snapshot.params同步访问它。


EDITED :

  • 清理以避免订阅,因为 NG2 路由器自行管理其订阅。
  • 避免使用可能在 HTML 中使用的私有变量,以避免破坏 AOT 编译。
  • Cleaned ROUTER_DIRECTIVES因为它已被弃用。
  • 避免使用字符串文字:params['id'] => params.id
  • 如果有的话,使用 TypeScript 输入参数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取Angular2 RC5中的路线参数 的相关文章

  • 单击上一页的按钮路由到该页面后如何刷新页面

    我有 2 个页面 一个主页和一个页面 2 当我单击主页上的按钮时 它会路由到 page2 现在 单击主页上的按钮后 当我到达第 2 页时 它应该刷新 因为我的项目中存在一些缓存问题 我在ngoninit上添加了window location
  • 拖动元素时是否禁用 mousemove 事件?

    我试图通过在拖动元素时观察文档上的 mousemove 事件来移动元素 使用 html5 拖放 我在文档的父元素上添加了一个 mousemove 侦听器 每当我移动鼠标时都会触发该监听器 但是一旦我开始拖动另一个子元素 我就不再看到 mou
  • 如何在Angular2中正确使用依赖注入(DI)?

    我一直在试图弄清楚 DI 依赖注入在 Angular2 中是如何工作的 每次当我尝试将服务 或类注入我的组件时 我都会遇到很多问题 从不同的谷歌搜索文章中 我需要使用providers 在组件配置中 或者有时我需要使用 Inject 在我的
  • Angular 2 runOutsideAngular 仍然改变 UI

    从我的理解来看runOutsideAngular https angular io docs ts latest api core index NgZone class html runOutsideAngular anchor 如果我需要
  • 如何将 Laravel 5.4 与 Angular 4 集成

    我知道如何创造完整的拉拉维尔 5 4自己的项目 我也知道如何使用创建 SPA角4 Problem 我不知道如何将 Laravel 与 Angular 集成 另外 我想使用 Laravel 5 4 作为后端 使用 Angular 4 作为前端
  • aspnetcore 出现角度错误 NodeInitationException:节点调用在 60000 毫秒后超时

    我在用着yo generator aspnetcore spa一旦我运行应用程序 我就遇到了问题 处理请求时发生未处理的异常 NodeIncationException 节点调用在 60000 毫秒后超时 您可以通过设置更改超时持续时间 N
  • 将 Backbone 结构转换为 TypeScript

    看看 Backbonejs 的实现扩展功能 http backbonejs org docs backbone html section 186 它表明它不是一个基本的原型扩展 当主干扩展直接转换为 TypeScript 类时 有些东西会停
  • 在 Angular html 模板中访问常量枚举

    假设我有一个常量枚举 export const enum MyConstEnum Value1 Value1 Value2 Value2 Value3 Value3 现在我想在我的 Angular 模板中使用它 span This has
  • 是否可以在 Angular Material Tooltip 中包含一个列表?

    基本上我想在我的工具提示中有一个 ul 元素 我正在使用 Angular 5 以及 Angular 5 的兼容材质 帕维尔 阿加科夫 Pavel Agarkov 的评论方向是正确的 为了让事情变得简单 创建一个自定义管道来自动将文本转换为项
  • 使用属性和泛型类型获取“keyof”中项目的类型

    我想定义一个具有泛型类型的接口 该接口必须接受一个对象 其键作为 根字段名称 值作为对象数组 该数组定义一些子字段 其键作为子字段的名称 type 作为字段值的类型 像这样的东西 interface Inputs emails email
  • 聆听 Angular 2 中的元素可见性

    我正在为我的网络应用程序使用 Bootstrap 和 Angular 2 v4 我想监听指令中的元素以了解可见性变化 我的元素有一个可以隐藏其子元素的父元素hidden sm up我需要在每次隐藏或显示时触发一个函数 div hidden
  • Angular7:NullInjectorError:没有 FormGroup 的提供者

    我真的很沮丧 因为我不知道发生了什么 今天早上一切正常 就在我进行一些更改以将 ReactiveForm 中的 2 个表单合并在一起之前 现在我在浏览器中收到以下错误 错误 StaticInjectorError AppModule For
  • 在 Typescript 中隐式创建一个元组

    有没有一种方法无需类型提示即可在 Typescript 中创建元组 如果我只是这样做 const tuple 1 2 元组的类型number 我能得到的最接近的单线是 const tuple number number 1 2 我错过了什么
  • 在 Angular 5 中,如何从父组件访问动态添加的子组件?

    我正在开发一个 Ionic Angular 5 项目 我需要动态加载一些组件 继动态组件加载器示例 https angular io guide dynamic component loader在 Angular 文档中 我能够成功加载组件
  • Typescript:隐式无参数函数类型

    我想要作为参数给出的函数的限定类型 我希望这种类型要么是一个没有参数的函数 返回一个包含参数的 void 函数 动作 要么是它返回自身的 void 函数 这是我想使用的代码 interface JsonArray extends Array
  • Angular - CSS - 自定义类型=文件输入,如何使用按钮而不是标签?

    我制作了一个类型为 file 的自定义输入字段 因为我不喜欢默认的输入字段 为了实现这一目标 我做了
  • 为 Angular2 中的组件加载多个样式表

    我正在构建一个 angular2 应用程序 当我尝试为同一组件加载多个样式表时 我面临多个问题 这是我正在做的代码 import Component from angular core Component selector my tag t
  • Angular:如何动态更改 scss 变量?

    我对 scss 很陌生 所以我想知道是否可以使用组件的 Typescript 来更改 scss 变量 所以考虑一下 html div div scss thememode theme1 textcolormode nonHover colo
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • CSF3 中的 Typescript 支持

    我正在使用 CSF3 编写故事 并且我想正确注释我的故事 我用谷歌搜索过 基本上找不到答案 我尝试过一些技巧here https github com storybookjs storybook issues 7677但没有任何效果 我发现

随机推荐

  • R install_github:错误:无法安装“未知包”[重复]

    这个问题在这里已经有答案了 我是 GitHub 的新手 我很困惑 我无法得到install github上班 我按照此处的有用说明设置了我的帐户 https kbroman org github tutorial pages init ht
  • 应如何管理函数范围内声明的计时器的清理?

    在下面的代码中 一个Timer在函数内部声明 它也订阅了Elapsed event void StartTimer System Timers Timer timer new System Timers Timer 1000 timer E
  • 将 CGrect 值更改为用户坐标系

    我有一个CGRect 我可以将其坐标转移到用户坐标系中 即左下角到顶部而不是左上角到底部 是否有任何预定义的方法或者我需要手动计算 提前致谢 要将矩形从原点位于左下角的坐标系 我们将其称为传统坐标系来命名 转换为原点位于左上角的系统 iPh
  • 如何使用 docker 将 django cookiecutter 项目上传并部署到heroku?

    我正在使用 django cookiecutter 带有 docker 和 heroku 设置 开发一个应用程序 并且已经部署它 这是我的第一个项目 所以之前没有 django docker 或 heroku 的经验 我已经在 cookie
  • 如何在 WHERE 子句中编写带有 SELECT 语句的 SQL DELETE 语句?

    数据库 Sybase Advantage 11 在我寻求标准化数据时 我试图删除从中得到的结果SELECT陈述 SELECT tableA entitynum FROM tableA q INNER JOIN tableB u on u q
  • 异步等待获取未定义。如何处理?

    我目前正在学习async await fetch我创建了以下示例来帮助我学习 下面的工作示例 从公共 API 获取三个随机 json 记录 提取出url从每次返回json 创建三个img元素 追加三img文档正文的元素 请注意promise
  • 将 RGBA 图像转换为灰度 Golang

    我目前正在开发一个将 RGBA 图像转换为灰度的程序 我之前问了一个问题 并得到了以下答案 更改单个像素的颜色 Golang 图像 https stackoverflow com questions 36573413 change colo
  • Array.length = 0 和 Array =[] 之间的区别?

    有人可以解释一下它们两者之间的概念差异吗 在某处读到第二个通过销毁对现有数组的所有引用来创建一个新数组 而 length 0 只是清空数组 但这对我来说不起作用 Declaration var arr new Array 下面是一次又一次执
  • 如何快速清除简单类型的记录?

    我有一个这样定义的结构 const MaxSignalRecords 255 type TSignalRecord record signal1 integer signal2 integer signal3 integer signal4
  • Inno Setup - 允许用户选择“只有我”或“任何使用这台计算机的人”

    我遇到的一些安装程序让我选择 只为我 或 为 使用这台计算机的任何人 安装应用程序 如何让我的 Inno Setup 脚本向用户提供此选择 以便我可以根据他们的回答方式更改安装程序的操作 有很多方法可以解释 只有我 与 所有用户 问题的答案
  • 在 Woocommerce 产品类别小部件中显示子类别档案

    我正在使用 Woocommerce 建立一家商店并使用 WooCommerce 产品类别小部件 我已经设置了许多产品类别和子类别 其中一个类别是 海报 并有几个子类别 例如 星座 旅行 自然 默认情况下 Woocommerce 仅显示父类别
  • 在 avro 文件中存储空值

    我有一些 json 数据 如下所示 id 1998983092 name Test Name 1 type search string creationDate 2017 06 06T13 49 15 091 0000 lastModifi
  • 如何在nuget和项目引用之间有效切换?

    我正在开发一个私有测试工具 它分为一个核心库和几个扩展插件 扩展项目通过私有 MyGet feed 依赖于核心库 因此我只需单击打包并上传到 MyGet feed 即可 无需太多麻烦 我遇到的问题是 除非我发布核心 NuGet 包的全新版本
  • 检测 SSL 浏览器支持

    如何检测客户端浏览器是否支持 SSL 我不是指 到服务器变量 HTTP 我希望能够确定 如果浏览器不支持 SSL 附 我知道这是可能的 因为这家公司 http www cyscape com http www cyscape com 有一款
  • AutoMapper:如何从字符串中解析 Int 并可以根据数据类型创建规则?

    我的表单有两个模型 一个是指向它的 ViewModel 另一个是来自它的 ControlModel ControlModel 具有所有相同的字段名称和层次结构 但所有字段都是字符串数据类型 如何编写 AutoMapper 代码以将字符串字段
  • 如何为特定类编写hashCode方法?

    我正在尝试为我的简单类生成 hashCode 方法 但我没有得到任何结果 我将不胜感激任何帮助 我已经实现了 equals 方法 如下所示 并且还想知道是否需要实现compareTo 方法 我已经导入 java lang Character
  • stringstream.read() 是否消耗流?

    我无法从文档中看出如何std stringstream read 作品 它是否消耗流 换句话说 std stringstream ss char buffer 6 ss lt lt Hello world ss read buffer 6
  • 在jquery中获取

    我试图使用 jquery 获取 li 的嵌套深度 然后创建一个包含 li 和数字的字符串 了解它们的嵌套深度 例如 ul li MenuItem1 li li MenuItem2 ul li SubItemA li ul li li Men
  • 升级到 .NET 4.0 时 配置组出现问题

    因此 我们将网站从 3 5 SP1 升级到 NET 4 当我们运行该站点时 我们收到内部服务器错误 500 指出无法读取以下配置组
  • 如何获取Angular2 RC5中的路线参数

    我已将我的 angular2 项目升级为RC5 using angular cli webpack 我提供的路由如下 const appRoutes Routes path project manager component Project