美文网首页
Angular笔记 路由传值

Angular笔记 路由传值

作者: _Waiting_ | 来源:发表于2019-08-26 15:12 被阅读0次
1.配置路由,创建组件 news newsdetails newsinfo三个模块。
2.在app.modle.ts中配置组件
import { GoodsComponent } from './components/goods/goods.component';
import { NewsdetailsComponent } from './components/newsdetails/newsdetails.component';
import { NewInfoComponent } from './components/newinfo/newinfo.component';

declarations: [
    AppComponent,
    GoodsComponent,
    NewsdetailsComponent,
    NewInfoComponent
  ],
3.在app-routing.ts中配置路由
import { NewsComponent } from './components/news/news.component';
import { NewsdetailsComponent } from './components/newsdetails/newsdetails.component';
import { NewInfoComponent } from './components/new-info/new-info.component';
const routes: Routes = [
  {path:"news",component:NewsComponent},
  {path:"newsdetails",component:NewsdetailsComponent},
  {path:"new-info/:aid",component:NewInfoComponent},
  {path:"**",redirectTo:"news"}
];



news中配置
ts

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-news',
  templateUrl: './news.component.html',
  styleUrls: ['./news.component.scss']
})
export class NewsComponent implements OnInit {



  public list:any[] = [];

  constructor() { }

  ngOnInit() {

    for (let index = 0; index < 10; index++) {
      
      this.list.push("这是第"+ index + "个值");
      
    }
  }

}

html

<p>news works!</p>
<ul>
    <li *ngFor="let item of list,let key = index">
        <a [routerLink]="[ '/newsdetails' ]" [queryParams] = "{aid:key}"> {{key}}--get--->{{item}}</a>
    </li>
</ul>

<hr>
<ul>
    <li *ngFor="let item of list,let key = index">
        <a [routerLink]="['/new-info/',key]">{{key}}--动态--->{{item}}</a>
    </li>
</ul>

get传值

要跳转的路由 [queryParams]:参数(固定写法)
<a [routerLink]="[ '/newsdetails' ]" [queryParams] = "{aid:key}"> {{key}}--get--->{{item}}</a>

动态传值

1.在配置路由时添加参数,{path:"new-info/:aid",component:NewInfoComponent},
2.要跳转的路由 ['path/', parameter] ,注意,path后面还有一个'/',这个与get传值是有区别的。
3.<a [routerLink]="['/new-info/',key]">{{key}}--动态--->{{item}}</a>

接收值

1.导入 import { ActivatedRoute } from '@angular/router';
2.声明ActivatedRoute对象 constructor(public route:ActivatedRoute) { }
3.调用 接收值

get接收值

import { Component, OnInit, } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
  selector: 'app-newsdetails',
  templateUrl: './newsdetails.component.html',
  styleUrls: ['./newsdetails.component.scss']
})
export class NewsdetailsComponent implements OnInit {

  constructor(public route:ActivatedRoute) { }

  ngOnInit() {

    //queryParams get接收值的方法
    this.route.queryParams.subscribe((data)=>{
      console.log(data.aid);
    });
  }

}

动态接收值

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
  selector: 'app-new-info',
  templateUrl: './new-info.component.html',
  styleUrls: ['./new-info.component.scss']
})
export class NewInfoComponent implements OnInit {

  constructor(public route:ActivatedRoute) { }

  ngOnInit() {


    //params 动态接收值的方法
    this.route.params.subscribe((data)=>{
      console.log(data.aid);
    });

  }

}

相关文章

  • Angular笔记 路由传值

    1.配置路由,创建组件 news newsdetails newsinfo三个模块。2.在app.modle.ts...

  • angular 路由传值

    angualr版本: 在路由传参时有三种方式: 一:在查询参数中传递数据,例如: 传递:/product?id=1...

  • 路由跳转(非命名路由)

    单纯跳转: 路由传值跳转: 路由传值返回跳转:

  • Angular2 路由传值

    在接收值得组件里面导入ActivatedRoute 路由设置页面传参 父级页面路由跳转的实现 子页面的Compon...

  • vue动态路由传值和get传值

    1、动态路由传值2、get传值 不同路由传值:动态路由 1、配置动态路由,main.js 2、在列表页NewsLi...

  • Flutter命名路由的使用和传值

    1.注册路由 2.路由传参和获取反向传的值 3.获取路由正向传的值

  • ionic4-传递参数

    环境 路由传值 方式一(单个值) 路由定义 跳转 或者 接收 方式二(多个值) 跳转 接收 组件间传值 父 -> ...

  • node-koa-路由传值

    一、Koa路由post传值 二、Koa路由get传值 在koa2中GET传值通过request接收,但是接收的方法...

  • Vue组件间关系及六种传值方式

    前言: 六种传值方式为: 属性传值 $refs $parent 通知传值(广播传值) 本地传值 路由传值 在介绍组...

  • 组件间传值之@Input

    组件间传值,可以用Input或者路由传值。例如:由列表页进入详情页1、如果用路由传值,就只需要在路由中添加id参数...

网友评论

      本文标题:Angular笔记 路由传值

      本文链接:https://www.haomeiwen.com/subject/tgnrectx.html