代码之家  ›  专栏  ›  技术社区  ›  Nick Hodges

如何访问Angular中路由的数据属性?

  •  0
  • Nick Hodges  · 技术社区  · 5 年前

    我有以下代码:

    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

    如何显示 土地上的财产 Route ?

    1 回复  |  直到 5 年前
        1
  •  3
  •   Jason White    5 年前

    上的数据属性 ActivatedRoute Observable 你需要订阅它。

    组件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>
    

    https://angular.io/api/router/ActivatedRoute#data

    https://stackblitz.com/edit/github-4p1j6c