全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

angular2倒计时组件使用详解

项目中遇到倒计时需求,考虑到以后在其他模块也会用到,就自己封装了一个组件。便于以后复用。

组件需求如下:
- 接收父级组件传递截止日期
- 接收父级组件传递标题

组件效果

变量


组件countdown.html代码

<div class="count-down">
  <div class="title">
    <h4>
      {{title}}
    </h4>
  </div>
  <div class="body">
    <div class="content">
      <div class="top">
        {{hour}}
      </div>
      <div class="bottom">
        小时
      </div>
    </div>
    <div class="content">
      <div class="top">
        {{minute}}
      </div>
      <div class="bottom">
        分钟
      </div>
    </div>
    <div class="content">
      <div class="top">
        {{second}}
      </div>
      <div class="bottom">
        秒
      </div>
    </div>
  </div>
</div>

组件countdown.scss代码

.count-down{
  width:100%;
  height:100px;
  background: rgba(0,0,0,0.5);
  padding: 2px 0;
  .body{
    margin-top: 8px;
    .content{
      width:29%;
      float: left;
      margin: 0 2%;
      .top{
        font-size: 20px;;
        line-height: 30px;
        color: black;
        background: white;
        border-bottom: 2px solid black;
      }
      .bottom{
        font-size: 14px;
        line-height: 20px;
        background: grey;
      }
    }
  }
}

组件countdown.component.ts代码

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

@Component({
 selector: 'roy-countdown',
 templateUrl: './countdown.component.html',
 styleUrls: ['./countdown.component.scss']
})
export class CountdownComponent implements AfterViewInit, OnDestroy {
 // 父组件传递截止日期
 @Input() endDate: number;
 // 父组件传递标题
 @Input() title: string;
 // 小时差
 private hour: number;
 // 分钟差
 private minute: number;
 // 秒数差
 private second: number;
 // 时间差
 private _diff: number;
 private get diff() {
  return this._diff;
 }
 private set diff(val) {
  this._diff = Math.floor(val / 1000);
  this.hour = Math.floor(this._diff / 3600);
  this.minute = Math.floor((this._diff % 3600) / 60);
  this.second = (this._diff % 3600) % 60;
 }
 // 定时器
 private timer;

 // 每一秒更新时间差
 ngAfterViewInit() {
  this.timer = setInterval(() => {
   this.diff = this.endDate - Date.now();
  }, 1000);
 }

 // 销毁组件时清除定时器
 ngOnDestroy() {
  if (this.timer) {
   clearInterval(this.timer);
  }
 }
}

使用方法demo.html

<roy-countdown title="距离考试还有:" [endDate]="endDate"></roy-countdown>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# angular2倒计时组件  # angular倒计时组件  # angular2倒计时  # 详解Angular 4.x 动态创建组件  # Angular 2父子组件数据传递之@ViewChild获取子组件详解  # Angular2学习教程之组件中的DOM操作详解  # angular中不同的组件间传值与通信的方法  # Angular父组件调用子组件的方法  # Angular5给组件本身的标签添加样式class的方法  # Angular 2父子组件数据传递之@Input和@Output详解(下)  # Angular入口组件(entry component)与声明式组件的区别详解  # 详解angular2封装material2对话框组件  # 简单谈谈Angular中的独立组件的使用  # 截止日期  # 也会  # 考虑到  # 装了  # 大家多多  # 倒计时  # 复用  # 每一秒  # width  # css  # height  # px  # scss  # top  # content  # hour  # minute  # bottom  # left  # float 


相关文章: 建站主机核心功能解析:服务器选择与网站搭建流程指南  建站主机服务器选型指南与性能优化方案解析  建站主机CVM配置优化、SEO策略与性能提升指南  学校为何禁止电信移动建设网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  建站之星备案流程有哪些注意事项?  已有域名和空间,如何快速搭建网站?  如何将凡科建站内容保存为本地文件?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  如何通过PHP快速构建高效问答网站功能?  Bpmn 2.0的XML文件怎么画流程图  如何选购建站域名与空间?自助平台全解析  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何通过虚拟机搭建网站?详细步骤解析  建站之星安装需要哪些步骤及注意事项?  如何在企业微信快速生成手机电脑官网?  购物网站制作公司有哪些,哪个购物网站比较好?  建站ABC备案流程中有哪些关键注意事项?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  宁波自助建站系统如何快速打造专业企业网站?  如何快速辨别茅台真假?关键步骤解析  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  建站之星代理费用多少?最新价格详情介绍  制作旅游网站html,怎样注册旅游网站?  如何在阿里云购买域名并搭建网站?  微课制作网站有哪些,微课网怎么进?  如何快速搭建FTP站点实现文件共享?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何快速完成中国万网建站详细流程?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  Python如何创建带属性的XML节点  如何快速重置建站主机并恢复默认配置?  香港服务器如何优化才能显著提升网站加载速度?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  如何用PHP快速搭建CMS系统?  建站主机选哪种环境更利于SEO优化?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  网站制作软件有哪些,制图软件有哪些?  如何用美橙互联一键搭建多站合一网站?  建站之星如何通过成品分离优化网站效率?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  专业网站建设制作报价,网页设计制作要考什么证?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何快速搭建高效香港服务器网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。