angular - 如何在 Angular 中访问 Route 的数据属性?
问题描述
我有以下代码:
https://stackblitz.com/github/NickHodges/datademo
我正在尝试在页面上显示路线的数据。
从代码中可以看出,我已经声明了路径信息,如下所示:
const routes: Routes = [
{
path: 'comp1',
component: Comp1Component,
data: { info: 'Data from Comp1' }
},
{
path: 'comp2',
component: Comp2Component,
data: { info: 'Data from Comp2' }
}
];
我已经声明了一个这样的组件:
import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-comp1',
templateUrl: './comp1.component.html',
styles: []
})
export class Comp1Component implements OnInit {
constructor(public route: ActivatedRoute) {}
ngOnInit() {}
}
我正在尝试data
像这样访问该属性:
<p>
comp1 works!
</p>
<p>Comp1Data: {{ route.data['info'] }}</p>
所以我去了/comp1
路线,但没有显示数据。
如何在data
上显示属性Route
?
解决方案
an 上的 data 属性ActivatedRoute
是 an Observable
,您需要订阅它。
comp-1.component.ts
export class Comp1Component implements OnInit {
public data;
constructor(public route: ActivatedRoute) {}
ngOnInit() {
this.route.data.subscribe(data => this.data = data);
}
}
comp1-component.html
<p *ngIf="data">Comp1Data: {{ data.info }}</p>
推荐阅读
- python - 冠状病毒的数据确认
- java - java如何并行实现流?
- r - 使用 R 在两年间隔内对时间序列进行子集化
- html - 如何以 HTML 格式将我的 gmail 帐户嵌入到我的网页中
- node.js - 当我调用任何 npm install 或版本检查时,npm 给我错误
- php - PDF 文件不显示动态信息
- java - 语言环境和多语言支持的最佳实践是什么?
- android - 使用带有 Retrofit 和 Kotlin 的 moshi 将 jsonarray 解析为对象
- c++ - 派生类中的虚函数没有重载
- go - golang中的TCPListener:连接数高于60 / 260时出错