一、创建服务

ng generate service service-name #简写 ng g s component-name
ng g s services/userService

二、效果

三、开发服务

修改\src\app\services\user-service.service.ts文件

import { Injectable } from ‘@angular/core‘;
import { Http } from ‘@angular/http‘;
import ‘rxjs/add/operator/toPromise‘;@Injectable()
export class UserServiceService {private api = ‘http://localhost:3003‘;  // 服务器地址private gundamList = ‘/news‘;     // 获取全部private getGundam = ‘/detail‘;          // 获取明细constructor(private http: Http) { }// 获得全部数据getGundams(): Promise<any[]> {return this.http.get(this.api + this.gundamList).toPromise().then(response => response.json()).catch(this.handleError);}// 根据Id查询高达getGundamById(id: number): Promise<object> {console.log(this.api + this.getGundam + ‘?id=‘ + id);return this.http.get(this.api + this.getGundam + ‘?id=‘ + id).toPromise().then( response => response.json()).catch(this.handleError);}private handleError(error: any): Promise<any> {console.error(‘An error occurred‘, error); // for demo purposes onlyreturn Promise.reject(error.message || error);}
}

四、全局注册服务

修改\src\app\app.module.ts文件

import {UserServiceService} from ‘./services/user-service.service‘;/* 注册服务 */providers: [UserServiceService],

五、使用服务

修改\src\app\components\users\list\list.component.ts文件

import {Component, OnInit} from ‘@angular/core‘;
/*import { Http } from ‘@angular/http‘; 添加Http请求模块 */
import {UserServiceService} from ‘../../../services/user-service.service‘;
import {ActivatedRoute,Params
} from ‘@angular/router‘;@Component({selector: ‘app-list‘,templateUrl: ‘./list.component.html‘,styleUrls: [‘./list.component.css‘]
})
export class ListComponent implements OnInit {/* 变量定义 */data:object[] = [];/* 定义列表数据变量 *//* 构造方法,做依赖注入 */constructor(// private _httpService: Http,private route: ActivatedRoute,private _userServiceService: UserServiceService) {}/* 加载完事件,做初始化 */ngOnInit() {// this._httpService.get(‘http://localhost:3003/news‘).subscribe(values => {//   console.log(values);//   this.data = values.json();// });this._userServiceService.getGundams().then(gundams => this.data = gundams.slice(0, 3)); // 让主页只显示3个}}

备注:

Error: ELOOP: too many symbolic links encountered……
ELOOP: too many symbolic links encountered, stat ……

六、运行效果,可正常请求到数据。

解决方案

删除node_modules文件夹, 重新npm install,不能用cnpm

Angular5学习笔记 - 创建服务相关推荐

  1. Linux学习笔记 文件服务Vsftp详细介绍

    Linux学习笔记 文件服务Vsftp详细介绍 知识点: 1.FTP使用TCP连接和TCP端口 2.在进行通信时,FTP需要建立两个TCP连接: 一个用于控制信息,TCP端口号缺省为21 一个用于数据 ...

  2. Dubbo -- 系统学习 笔记 -- 示例 -- 服务分组

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 服务分组 当一个接口有多种实现时,可以用group区分. <dubbo:se ...

  3. golang游戏开发学习笔记-创建一个能自由探索的3D世界

    此文写在golang游戏开发学习笔记-用golang画一个随时间变化颜色的正方形之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里,我们将创建一个非常简单(只有三个方块)但能自由探索的的3D世 ...

  4. android学习笔记---42_服务的生命周期

    42_服务的生命周期 ------------------------- 与采用Context.startService()方法启动服务有关的生命周期方法 onCreate() onStart() ...

  5. 学习笔记---Web服务、Remoting、WCF (上) --- Web服务

    自从程序设计诞生起, 如何最大限度的重用代码, 减小编码的重复劳动就是程序员永恒不变的课题. 我们从学习面向对象开始, 先后引入了很多种共享代码的手段, 随着学习的不断深入就越发觉得程序设计的发展过程 ...

  6. ros学习笔记_服务通讯

    学习地址 0.话题通讯理论模型 前言: 话题通信基本操作(C++) 注:启动roscore的时候rosmaster已经启动了,因此ROS master 不需要实现,而连接的建立也已经被封装了(因此连接 ...

  7. EntityFramework Core 学习笔记 —— 创建模型

    原文地址:https://docs.efproject.net/en/latest/modeling/index.html 前言: EntityFramework 使用一系列的约定来从我们的实体类细节 ...

  8. 4、Angular JS 学习笔记 – 创建自定义指令 [翻译中]

    2019独角兽企业重金招聘Python工程师标准>>> 创建自定义指令 注意:本指南是针对已经熟悉AngularJS基础的开发者.如果您只是想要开始,建议您先去看教程.如果你在寻找指 ...

  9. SpringCloud学习笔记(十)----服务熔断与限流 Sentinel

    SpringCloud Alibaba Sentinel实现熔断与限流 Sentinel概述 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 是面向分布式服务架构的流量控制组 ...

最新文章

  1. C#操作数据库,DataSet,DataGridView,更新数据库 [一] - ADO.NET入门之中
  2. CH - 6802 車的放置(二分图最大匹配)
  3. 人生致命的八个经典问题
  4. ql的python学习之路-day3
  5. 人工智能—产生式系统(专家系统)
  6. SnakeYaml 嵌套Map写入格式 DumperOptions格式设置
  7. OBS录屏软件使用指南
  8. 计算机网络速度慢原因,导致电脑网速变慢的七大原因
  9. 信号的带宽、传输速率、采样率的关系
  10. c语言编程学生活动安排表,C语言作业安排表(18学时-周学时2...).doc
  11. java中finish什么意思,finish是什么意思(你知道Finish 和 Complete 的区别吗?)
  12. 兄弟连学python(06)装饰器:对类或者函数进行功能的扩展
  13. [Sass常见用法] Css代码的Sass打开方式
  14. 人脸识别方案(一)-ocr
  15. C# 求Sn=a+aa+aaa+...+aa...a(n个a)的值
  16. icap协议————2014.6.4
  17. 计算机组装与维修教学重点,计算机组装与维修教学大纲.pdf
  18. 初入HTML和CSS
  19. CSDN博客第一期订阅专栏:跟“风云卫星”数据工程师学Python
  20. 软件测试基础知识点--黑盒测试(从题目中总结)期末复习总结二

热门文章

  1. fastadmin软删除
  2. 关于定制 android 恢复出厂设置的一点思路
  3. 那一年我学习软件测试,现在没有后悔
  4. 给准备面试的应届生一个建议:做好自我介绍
  5. 计算机输入开机密码无法进入,电脑进不了开机输入帐号密码后无法进入桌面. – 手机爱问...
  6. dhcpcd禁止使用IPv6
  7. 第十三章 欧拉图与哈密顿图(图论)
  8. 命令行中gcc参数 “ -lm “
  9. 都是被逼的... ,LM算法的具体实现python和C++代码
  10. 人流密度(crowd counting)估计方法