• angular中的服务和持久化实现


    1.创建服务:

    ng g service my-new-service
    创建到指定目录下面
    ng g service services/storage

    编写storage.service.ts代码:

    import { Injectable } from '@angular/core';
    
    @Injectable({
      providedIn: 'root'
    })
    export class StorageService {
    
      constructor() { }
    
      set(key,value){
        localStorage.setItem(key,JSON.stringify(value));
      }
      get(key){
        return JSON.parse(localStorage.getItem(key));
      }
      remove(key){
        localStorage.removeItem(key);
      }
    }

    2.app.module.ts 里面引入创建的服务

    import { StorageService } from './services/storage.service';
    NgModule 里面的 providers 里面依赖注入服务
    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { FormsModule } from '@angular/forms';
    import { AppRoutingModule } from './app-routing.module';
    import { AppComponent } from './app.component';
    import { HomeComponent } from './components/home/home.component';
    import { StorageService } from './services/storage.service';
    @NgModule({
      declarations: [
        AppComponent,
        HomeComponent
      ],
      imports: [
        BrowserModule,
        FormsModule,
        AppRoutingModule
      ],
      providers: [StorageService],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    3.使用的页面引入服务,注册服务
    import { Component } from '@angular/core';
    import { StorageService } from './services/storage.service';
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.scss']
    })
    
    export class AppComponent {
      constructor(private storage : StorageService){
    
      }
      title = 'angulardemo';
      
      key= 1
      name='张三';
      list:any=[]
      
      addData(){
        // alert(this.username);
        this.list.push(this.name); 
        this.storage.set('todolist',this.list);
     }
     removerData(key){
          console.log(key); 
          this.list.splice(key,1);
          this.storage.set('todolist',this.list);
    }
    }

    页面设计

    <div style="text-align:center">
      <h1>
        Welcome to {{ title }}!
      </h1>
      <input [(ngModel)]="name">
     <button (click)="addData()">添加数据</button>
     <button (click)="removerData(key)">删除数据</button>

    效果:


  • 相关阅读:
    分享
    分享
    分享
    分享
    基于加权相似度的相关性排序算法的研究 中国学术期刊网络出版总库
    分享
    基于用户点击行为的数字图书搜索系统研究与实现 中国优秀硕士学位论文全文数据库
    分享
    垂直搜索引擎分类索引系统的设计与实现 中国优秀硕士学位论文全文数据库
    基于相关反馈技术的检索结果排序模型研究 中国优秀硕士学位论文全文数据库
  • 原文地址:https://www.cnblogs.com/loaderman/p/10895421.html
Copyright © 2020-2023  润新知