分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

Angular待办事项应用4——模拟web服务

发布时间:2023-09-06 02:17责任编辑:蔡小小关键词:Angular

内存服务器

angular提供了一个快速建立测试用的web服务方法,内存服务器(in-memory),让我们不用等待后端开发的进度

安装npm包

npm install --save angular-in-memory-web-api

  

构建数据模型

在todo文件夹创建文件todo-data.ts

import { InMemoryDbService } from "angular-in-memory-web-api";import { Todo } from "./todo.model";export class InMemoryTodoDbService implements InMemoryDbService{ ???createDb(){ ???????let todos:Todo[]=[ ???????????{id:‘c24743b1-942e-0527-4810-fa1175b92d90‘,desc:‘hello world‘,completed:false}, ???????????{id:‘c24743b1-942e-0527-4810-fa1175b92d91‘,desc:‘hello‘,completed:false}, ???????????{id:‘c24743b1-942e-0527-4810-fa1175b92d92‘,desc:‘hello‘,completed:false}, ???????????{id:‘c24743b1-942e-0527-4810-fa1175b92d93‘,desc:‘ world‘,completed:false}, ???????????{id:‘c24743b1-942e-0527-4810-fa1175b92d94‘,desc:‘ world‘,completed:false}, ???????????{id:‘c24743b1-942e-0527-4810-fa1175b92d95‘,desc:‘hello world‘,completed:false}, ???????????{id:‘c24743b1-942e-0527-4810-fa1175b92d96‘,desc:‘hello world‘,completed:false}, ???????]; ???????return {todos}; ???}}

  

我们创建了一个InMemoryDbService的内存数据库

内存web服务

首先在app.module.ts加入类引用

 调用“假的web服务”

修改todo.service.ts

import { Injectable } from ‘@angular/core‘;import { Todo } from "./todo.model";import { UUID } from "angular2-uuid";import { Http,Headers } from "@angular/http";import ‘rxjs/add/operator/toPromise‘;@Injectable()export class TodoService { ?//定义web api地址和headers ?private api_url=‘api/todos‘; ?private headers=new Headers({‘Content-Type‘:‘application/json‘}); ?//post /todo ?addTodo(desc:string):Promise<Todo>{ ???let todo={ ?????id:UUID.UUID(), ?????desc:desc, ?????completed:false ???}; ???return this.http ?????????????.post(this.api_url,JSON.stringify(todo),{headers:this.headers}) ?????????????.toPromise() ?????????????.then(res=>res.json().data as Todo) ?????????????.catch(this.handleError); ???????????????} ?//error处理 ?private handleError(error:any):Promise<any>{ ???console.log(‘an error occurred:‘,error); ???return Promise.reject(error.message||error); ?} ?todos:Todo[]=[]; ?constructor(private http:Http) { }}

  

Angular待办事项应用4——模拟web服务

原文地址:https://www.cnblogs.com/1906859953Lucas/p/9781343.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved