角度导航路由数据

时间:2021-07-30 12:23:43

标签: angular typescript

我通过路由传递信息,我想知道是否可以传递一个简单的变量? 传递这个变量'testText'

因为当我尝试时它不起作用。

ma​​in.html

<app-table>
 [tableCols]="tableCols"
 (click)="passData(lstId, toto)"
 [tableRows]="rows | async"
</app-table>

ma​​in.ts

   list:string;
   testText: string = 'test text'; // pass this data to another component using router

    makeRowObservable(): Obervable<any[]> {
      return this.service
       .get()
        .pipe(
          map((data: Istud) => {
          data.stud.map((item:any[]) => this.transormListToMap(item)
          }
    }
        
        transormListToMap() {
            let result = {};
            for (let i = 0; i < this.tableCols.length; i++) {
                let col = this.tableCols[i];
                let value = item[i];
                let colId = col.key;
                result[colId] = value;
            }
            this.listId = result;
            return result;
        }
    
       passData(id:string, toto:string) {
        this.listId = id;
        this.testText = toto:
        this.router.navigate([/route, (id), (toto)]);
      }

ma​​in.routing

 const appRoutes: Routes = [
 {
  path: 'stud/:id/:toto',
  component: studComponent;
 } 
]

another.component.ts

mainId:string;
mainToto:string;

 getData() {
 this.route.paramMap.subscribe((params: Params) => {
  this.mainId = params.get('id);
 this.mainToto= params.get('toto);
 }
}

0 个答案:

没有答案