Angular 带有数字路由的ngOnInit
我有一个组件,我需要为像/1、/2、/3等数字路由渲染它 (其中编号为:id) 在我的组件中,我声明了ngOnInit代码Angular 带有数字路由的ngOnInit,angular,typescript,angular2-routing,Angular,Typescript,Angular2 Routing,我有一个组件,我需要为像/1、/2、/3等数字路由渲染它 (其中编号为:id) 在我的组件中,我声明了ngOnInit代码 ngOnInit(){ alert(); } 当第一次时间路由更改警报触发时,但对于其他路由更改,它不会。我想知道为什么?如果组件已经加载,您应该订阅更改 如果组件已经加载,您应该订阅更改 您应该从ActivatedRoute服务中可观察到的params中获取id参数。您可以按如下方式执行此操作: //组成部分 import { Component, OnIni
ngOnInit(){
alert();
}
当第一次时间路由更改警报触发时,但对于其他路由更改,它不会。我想知道为什么?如果组件已经加载,您应该订阅更改
如果组件已经加载,您应该订阅更改
您应该从
ActivatedRoute
服务中可观察到的params
中获取id
参数。您可以按如下方式执行此操作:
//组成部分
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';
constructor(
private route: ActivatedRoute
) {}
ngOnInit(): void {
this.route.params.subscribe((params: Params) => {
console.log(params['id']);
// alert();
});
}
您应该从
ActivatedRoute
服务中可观察到的params
中获取id
参数。您可以按如下方式执行此操作:
//组成部分
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';
constructor(
private route: ActivatedRoute
) {}
ngOnInit(): void {
this.route.params.subscribe((params: Params) => {
console.log(params['id']);
// alert();
});
}
太好了,谢谢!我有一个问题-如果我在你的代码中从警报中删除注释,如果我的路径(比如说)是/5或/10或其他什么。当我使用F5按钮刷新页面时,页面上会显示“ReferenceError:alert未定义”
alert
不是JavaScript的一部分,它是web浏览器提供的窗口
对象的一部分,因此我认为它不存在于订阅
上下文中,因为它不起作用,所以效果很好-谢谢!我有一个问题-如果我在你的代码中从警报中删除注释,如果我的路径(比如说)是/5或/10或其他什么。当我使用F5按钮刷新页面时,它会说“ReferenceError:alert未定义”alert
不是JavaScript的一部分,它是web浏览器提供的窗口
对象的一部分,因此我认为它不存在于订阅
上下文中,因此它不起作用