Angular实现简单的toDoList以及数据持久化存储,CSS标准文档流与脱离文档流

本文介绍了如何使用Angular实现一个简单的toDoList功能,包括添加任务、数据状态切换,并利用StorageService实现数据持久化。同时,文章探讨了CSS中的标准文档流和脱离文档流的概念,展示了如何设置样式。
摘要由CSDN通过智能技术生成

HTML:

<input type=“text” [(ngModel)]=“keyword”/> <button (click)=“doSearch()”>搜索


    CSS:

    .search{

    margin: 20px auto;

    width: 400px;

    input{

    margin-bottom: 20px;

    width: 300px;

    height: 32px;

    }

    button{

    margin-left: 10px;

    width: 80px;

    height: 32px;

    }

    }

    TS:

    import { Component, OnInit } from ‘@angular/core’;

    import { StorageService } from ‘src/app/services/storage.service’;

    @Component({

    selector: ‘app-search’,

    templateUrl: ‘./search.component.html’,

    styleUrls: [‘./search.component.scss’],

    })

    export class SearchComponent implements OnInit {

    public keyword = ‘’;

    public historyList = [];

    constructor(public storageService: StorageService) {}

    ngOnInit(): void {

    const searchList = this.storageService.get(‘searchList’);

    if (searchList) {

    this.historyList = searchList;

    }

    }

    public doSearch(): void {

    if (this.historyList.indexOf(this.keyword) === -1) {

    this.historyList.unshift(this.keyword);

    // 这个地方传入的是一个数组, 在set中需要转成json, 在get中需要解析成数组拿出来

    this.storageService.set(‘searchList’, this.historyList);

    this.keyword = ‘’;

    }

    }

    public onDelete(index: number): void {

    this.historyList.splice(index, 1);

    this.storageService.set(‘searchList’, this.historyList);

    }

    }

    实现效果如图:

    在这里插入图片描述

    第二例:ToDoList


    功能概述: 在第一例的基础上, 我们还可以通过点击checkBox来实时更改数据状态

    HTML:

    搜索条

    <input type=“text” [(ngModel)]=“keyword” (keyup)=“doAdd($event)” />


    正在运行

      <input type=“checkbox” [(ngModel)]=“item.status” (change)="changeCheckBox() "/>{{ item.title }}

      <button (click)=“onDelete(i)”>×

      成功执行

        <input type=“checkbox” [(ngModel)]=“item.status” (change)=“changeCheckBox()” />{{ item.title }}

        <button (click)=“onDelete(i)”>×

        CSS:

        h2{

        text-align: center;

        }

        .toDoList{

        margin: 20px auto;

        width: 400px;

        li{

        line-height: 60px;

        }

        }

        TS:

        import { Component, OnInit } from ‘@angular/core’;

        import { StorageService } from ‘…/…/services/storage.service’;

        @Component({

        selector: ‘app-to-do-list’,

        templateUrl: ‘./to-do-list.component.html’,

        styleUrls: [‘./to-do-list.component.scss’],

        })

        export class ToDoListComponent implements OnInit {

        public toDoData = [];

        public keyword = ‘’;

        public status = false;

        constructor(public storageService: StorageService) {}

        ngOnInit(): void {

        const storageToDoList = this.storageService.get(‘toDoList’);

        if (storageToDoList) {

        this.toDoData = storageToDoList;

        自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

        深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

        因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

        img

        既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

        由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

        如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

        最后:

        总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。

        面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

        点击这里领取Web前端开发经典面试题

        rc=“https://i-blog.csdnimg.cn/blog_migrate/f3d4e6975c3e847070211dccae126c3a.jpeg” />

        最后:

        总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。

        面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

        点击这里领取Web前端开发经典面试题

        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

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

        抵扣说明:

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

        余额充值