Angular --主从组件

本文介绍如何在Angular项目中通过创建主从组件提高代码复用性和维护性,以英雄榜应用为例,展示如何将复杂组件分解为更小、更易管理的部分。

前言

什么是主从组件,就是将组件分为主组件和从组件,目的就是让我们更加好维护并且便于利用,将大化小,就如同我们之前的模板类一样,我们以上次做的英雄榜作为例子来进行切割使用。




开始制作

  1. 我们首先新建一个新组件:hero-detail
	ng generate component hero-detail
  1. 编写模板:我们将之前heroes模板(html)中的下面的代码剪切到我们新建立的这个组件的模板中来:
	<div *ngIf="hero">
	
	  <h2>{{hero.name | uppercase}} Details</h2>
	  <div><span>id: </span>{{hero.id}}</div>
	  <div>
	    <label>name:
	      <input [(ngModel)]="hero.name" placeholder="name">
	    </label>
	  </div>
	
	</div>

  1. 在我们新建组件中ts文件中绑定hero属性,并且我们需要在本来的import { Component, OnInit} from ‘@angular/core’; 中添加Input属性,以及在export中添加@Input属性
	import { Component, OnInit, Input } from '@angular/core';
	import { Hero } from '../hero';
	
	@Component({
	  selector: 'app-hero-detail',
	  templateUrl: './hero-detail.component.html',
	  styleUrls: ['./hero-detail.component.css']
	})
	export class HeroDetailComponent implements OnInit {
	
	
	  @Input() hero:Hero;
	
	  constructor() { }
	
	  ngOnInit() {
	  }
	
	}

  1. 我们再回到heroes的html中,将我们做的新的组件添加到heroes组件中,用来显示。
	//我们在此页面中最下面添加:
	
	<app-hero-detail [hero]="selectedHero"></app-hero-detail>
	
	//注意: [hero]="selectedHero" 是Angular的属性绑定语法,
	//这是一个单向绑定



小结

此次结果和我们之前的英雄榜是一样的,这个也是为了松耦合,将我们共同用到的代码抽离出来便于维护和复用,这样子我们未来的代码会经常光顾这个组件了,以后我们哪里需要就可以这串代码将以修改写入即可了(<app-hero-detail [hero]=“selectedHero”>

先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙与单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值