返回顶部
首页 > 资讯 > 前端开发 > VUE >Angular6中怎么实现一个主从组件
  • 274
分享到

Angular6中怎么实现一个主从组件

2024-04-02 19:04:59 274人浏览 安东尼
摘要

angular6中怎么实现一个主从组件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.创建一个新的组件使用 Angular

angular6中怎么实现一个主从组件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.创建一个新的组件

使用 Angular CLI 生成一个名叫 hero-detail 的新组件。

wjydeMacBook-Pro:demo wjy$ ng generate component hero-detail
CREATE src/app/hero-detail/hero-detail.component.CSS (0 bytes)
CREATE src/app/hero-detail/hero-detail.component.html (30 bytes)
CREATE src/app/hero-detail/hero-detail.component.spec.ts (657 bytes)
CREATE src/app/hero-detail/hero-detail.component.ts (288 bytes)
UPDATE src/app/app.module.ts (548 bytes)

这样就生成了 HeroDetailComponent 组件所需要的文件,并把它声明在 AppModule 中。

2.编写 HeroDetailComponent的模版(hero-detail.component.html)

从 HeroesComponent 模板的底部把表示英雄详情的 HTML 代码剪切粘贴到所生成的 HeroDetailComponent 模板中。

粘贴过来的html代码中,有selectHero这个属性,由于现在我们展示的不仅仅是被选中的hero,而是需要展示的是每一个hero,这个过程相当于将HeroDetail这个组件的功能扩大化。所以将其更改为:hero , hero-detail.component.html如下:

<div *ngIf="hero">
 <h3>{{hero.name | uppercase}} Details</h3>
 <div><span>id: </span>{{hero.id}}</div>
 <div>
  <label>name:
   <input [(ngModel)]="hero.name" placeholder="name"/>
  </label>
 </div>
 
</div>

因为HeroDetail重的hero是从其他父组件得到。所以hero 属性必须是一个带有 @Input() 装饰器的输入属性,因为外部的 HeroesComponent 组件将会绑定到它。

具体步骤:

导入Hero

import { Hero } from '../hero';

导入Input符号

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

定义hero

@Input() hero: Hero;

这样,就对heroDetail的类文件写好了,heroDetail所做的工作就是:从其他的父组件中接收一个Hero类型的对象,并将它展示出来

3.显示 HeroDetailComponent

现在有HeroDetail组件显示每一个Hero的具体详情信息,而Heroes组件需要显示每一个Hero的详细信息,这个时候,Heroes组件和heroDetail组件就有了主从关系,heroes组件需要将需要展示详情的Hero对象传给具有展示功能的HeroDetail组件

HeroDetailComponent 的选择器是 'app-hero-detail'。 把 <app-hero-detail> 添加到 HeroesComponent 模板的底部,以便把英雄详情的视图显示到那里,并把 HeroesComponent.selectedHero 绑定到该元素的 hero 属性, HeroesComponent模版即:

<h3>My Heroes</h3>
<ul class="heroes">
 <li *ngFor="let hero of heroes" (click)="onSelect(hero)" [class.selected]="hero === selectedHero">
  <span class="badge">{{hero.id}}</span> {{hero.name}}
 </li>
</ul>
<app-hero-detail [hero]="selectedHero"></app-hero-detail>

保存浏览器刷新,界面和之前的不会有变化,但是会有一下优点:

  • 通过缩减 HeroesComponent 的职责简化了该组件。

  • 把 HeroDetailComponent 改进成一个功能丰富的英雄编辑器,而不用改动父组件 HeroesComponent。

  • 改进 HeroesComponent,而不用改动英雄详情视图。

  • 将来可以在其它组件的模板中重复使用 HeroDetailComponent。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网VUE频道,感谢您对编程网的支持。

--结束END--

本文标题: Angular6中怎么实现一个主从组件

本文链接: https://lsjlt.com/news/78271.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Angular6中怎么实现一个主从组件
    Angular6中怎么实现一个主从组件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.创建一个新的组件使用 Angular ...
    99+
    2024-04-02
  • Vue中怎么实现一个单文件组件
    这期内容当中小编将会给大家带来有关Vue中怎么实现一个单文件组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。背景相信大家在使用Vue开发项目时,基本都是以单文件组件的形...
    99+
    2024-04-02
  • Vuejs中怎么实现一个单文件组件
    Vuejs中怎么实现一个单文件组件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。初识单文件组件还是利用工欲善其事必先利其器 中的源码,在 ...
    99+
    2024-04-02
  • Vue中怎么实现一个树形组件
    Vue中怎么实现一个树形组件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体如下:使用SemanticUI和vue做一个me...
    99+
    2024-04-02
  • Vue2.0中怎么实现一个分页组件
    这篇文章给大家介绍Vue2.0中怎么实现一个分页组件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。组件部分代码:Vue.component('zpagenav',&nb...
    99+
    2024-04-02
  • vue-cli3中怎么实现一个fullpage组件
    本篇文章为大家展示了vue-cli3中怎么实现一个fullpage组件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。准备$ npm i ...
    99+
    2024-04-02
  • vue中怎么实现一个翻页组件
    这篇文章将为大家详细讲解有关vue中怎么实现一个翻页组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先,翻页组件(以下称“pager组件”)一般拥有的元...
    99+
    2024-04-02
  • Vue中怎么实现一个异步组件
    今天就跟大家聊聊有关Vue中怎么实现一个异步组件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。index.html<!DOCTYPE ...
    99+
    2024-04-02
  • VB.NET中怎么实现一个菜单组件
    VB.NET中怎么实现一个菜单组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Windows应用程序中往往离不开菜单,菜单的应用是十分普遍了,并且菜单的设计是十分简单的,这主...
    99+
    2023-06-17
  • VB.NET中怎么实现一个控件数组
    本篇文章为大家展示了VB.NET中怎么实现一个控件数组,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Public Class CheckBoxArrClass Chec...
    99+
    2023-06-17
  • Vue中怎么实现一个全局loading组件
    Vue中怎么实现一个全局loading组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。loading.js:import '...
    99+
    2024-04-02
  • vue中怎么实现一个toast弹窗组件
    本篇文章给大家分享的是有关vue中怎么实现一个toast弹窗组件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先,我们来分析一下弹窗组件的特...
    99+
    2024-04-02
  • vue-star中怎么实现一个评星组件
    vue-star中怎么实现一个评星组件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。star文件夹下建立Star.vue,及相关的图片信息...
    99+
    2024-04-02
  • vue中怎么实现一个模态框组件
    这期内容当中小编将会给大家带来有关vue中怎么实现一个模态框组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。组件结构<template> &nbs...
    99+
    2024-04-02
  • Vue.js中怎么实现一个可复用组件
    Vue.js中怎么实现一个可复用组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。构成组件组件,是一个具有一定功能,且不同组件间功能相对独立的...
    99+
    2024-04-02
  • Flutter 中怎么实现一个裁剪类组件
    Flutter 中怎么实现一个裁剪类组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ClipRectClipRect组件使用矩形裁剪子组件,通常情况下,ClipRect作用于...
    99+
    2023-06-04
  • Vue2.x中怎么实现一个条件搜索组件
    这篇文章将为大家详细讲解有关Vue2.x中怎么实现一个条件搜索组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。组件源码<template> &...
    99+
    2024-04-02
  • Vue中怎么实现一个表情输入组件
    这篇文章将为大家详细讲解有关Vue中怎么实现一个表情输入组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。html区域<template> &n...
    99+
    2024-04-02
  • SpringBoot中怎么实现一个读写分离组件
    这期内容当中小编将会给大家带来有关SpringBoot中怎么实现一个读写分离组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.pom.xml配置文件<depen...
    99+
    2024-04-02
  • vue中怎么实现一个上传图片组件
    本篇文章给大家分享的是有关vue中怎么实现一个上传图片组件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.首先得有一个[type=file]...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作