Angular2框架入门笔记(二):路由、服务、HTTP、表单

  接上一篇:Angular2框架入门笔记(一):概念、搭建环境、模板语法、组件
  这篇学习笔记主要整理记录Angular的路由、服务、HTTP与表单的功能。路由可以实现不同页面和结构之间导航跳转的功能,服务与HTTP可以对数据进行管理,表单是应用处理用户输入最常用的结构。
 

五、导航页面:路由

5.1 在AppModule中

5.1.1 注册路由

  (1)在app.module.ts中的imports里添加商品详情路由,path是匹配浏览器地址栏中的URL字符,component是导航到此路由是创建哪个组件。路由会将一个或多个URL路径与一个组件相关联。

RouterModule.forRoot([
      {
    path: '', component: ProductListComponent },
      {
    path: 'products/:productId', component: ProductDetailsComponent },
    ])

  (2)使用RouterLink指令定义链接,它定义了如何像在组件模板中声明的那样导航到指定路由。
  修改HTML中的*ngFor指令(后半句),在遍历列表的过程中把 products 数组中的每个索引赋值给 productId 变量。

<div *ngFor="let product of products; index as productId">

  (3)修改商品名称的链接,使其包含 routerLink。

 <a [title]="product.name + ' details'" [routerLink]="['/products', productId]">{
   {
    product.name }}</a>
5.1.2 使用路由信息

  (1)导入需要用到的外部信息(例子为products数组);导入ActivatedRoute(包含与当前组件相关的路由信息)。

import {
    products } from '../products';
import {
    ActivatedRoute } from '@angular/router';

  (2)定义product属性并把ActivatedRoute注入构造函数中。

export class ProductDetailsComponent implements OnInit {
   
  product;
  constructor( private route: ActivatedRoute,) {
    };

  (3)在 ngOnInit( )方法中,根据productId获取路由参数以及商品信息。

ngOnInit() {
   
    this.route.paramMap.subscribe(params => {
   
      this.product = products[+params.get('productId')];
    });

  (4)显示效果

<div *ngIf="product">
  <h3>{
   {
    product.n
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值