8. 路由

作者: 晨曦Bai | 来源:发表于2019-08-01 10:07 被阅读0次

1. 注册路由

    1. 在文件 app.module.ts 增加1个路由
@NgModule({
imports: [
BrowserModule,
RouterModule.forRoot([
{path: ' ', component: ProductListComponent},
{path: 'products/:productId', component: ProductDetailsComponent},
])
]
})
    1. 使用routerLink 指令定义链接

routerLink 定义用户是如何导航到在组件模板中声明的路由(或URL)的。

》 src/app/product-list/product-list.component.html

<div *ngFor="let product of products; index as productId">
<h3>
<a [title]="product.name+ 'details'" [routerLink]="['/products', productId]">
{{product.name}}
</a>
</h3>
<>

2. 使用路由信息

用 product-detail 组件显示每个产品的详细信息

    1. 导入 ActivatedRoute from @angular/core , products array from ../products
    1. 定义product 属性, 并且注入 Activatedoute 到构造函数
    1. 在ngOnInit() method 中订阅(subscribe)路由参数( route params), 并根据其productId 获取商品信息
    1. 修改模板,在*ngIf 中显示商品详情

》src/app/product-details/product-details.component.ts

import {Component, OnInit} from '@angular/core'
import {ActivatedRoute } from '@angular/router'
import {product} from '../products'
export class ProductDetailsComponent implements OnInit {
product;
constructor(
private route: ActivatedRoute,
){}
ngOnInit() {
this.route.paramMap.subscribe(params => {this.product= products[+params.get('productId')]})
}
}

》src/app/product-details/product-details.component.html

<h2>Product Details</h2>  
<div *ngIf ="product"> 
 <h3>{{ product.name }}</h3> 
 <h4>{{ product.price | currency }}</h4> 
 <p>{{ product.description }}</p>  
</div>

相关文章

  • 8. 路由

    1. 注册路由 在文件 app.module.ts 增加1个路由 使用routerLink 指令定义链接 rou...

  • 8. 路由系统

    a. 自定义路由 urls.py views.py b. 半自动路由 urls.py views.py c. 全自...

  • 后端人员常用的插件库

    前端组件库 搭建web app常用的样式/组件等收集列表(移动优先) 8. 路由和链接(Routing And U...

  • 8. 【文档讲解】路由与导航

    3-14 【文档讲解】路由与导航 路由与导航 Flutter中Intent等价于什么?(Android) 在Flu...

  • thinkphp5学习笔记(三)路由配置

    URL请求的执行流程 路由模式 路由注册 路由规则 路由地址 路由参数 变量规则 路由分组 别名路由 路由绑定

  • 8. vue 抽离路由模块 router.js

    将vue-router在main.js中的代码抽离,集中到router.js文件统一管理: - main.js...

  • larevel 路由索引

    基本路由:路由重定向、视图路由路由参数:必选、可选、正则表达式命名路由路由组:中间件、命名空间、子域名路由、路由前...

  • laravel路由

    2 路由格式 3 路由参数 4 .路由别名 5 .路由群组

  • Vue3: 前端路由的概念和原理

    1、什么是路由 路由(英文:router)就是对应关系。路由分为两大类:① 后端路由② 前端路由 2、后端路由 后...

  • 组件化2.路由框架的设计

    路由框架原理 路由框架是为了实现组件之间的通信 路由框架维护了一个分组的路由表路由表中存放了路由地址和路由信息路由...

网友评论

      本文标题:8. 路由

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