zoukankan      html  css  js  c++  java
  • Service(服务)

    1、Service是封装了某一特定功能的独立模块;

    2、它可以通过注入的方式供别的模块使用;

    3、Service分为很多种,包括:值、函数以及应用所需的特性;

    4、最简单的Service

    import { Injectable } from '@angular/core';
    import { ApiService } from '@angularui/devcloud/services';
    
    @Injectable()
    export class LentestService {
        USERS: Array<any>;
        constructor(private api: ApiService){ // 依赖注入
            this.USERS = [
                 {id:1, name:'a'},
                 {id:2, name:'b'},
                 {id:3, name:'c'},
            ];
        }
        getUsers(){
            return this.USERS;
        }
    }

    这里要提下依赖注入(Dependency Injection,DI):

    通过DI,对象(这里指Service对象)在被创建时,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它,就是说,依赖被注入到对象中。

    依赖注入一般放在Service的构造函数的参数那块,如上述例子的  

    constructor(private api: ApiService)

    相对应的,在Angular创建组件时,会首先为组件所需的服务找一个注入器(Injector),也就是上面说的外界实体;

    Injector时一个维护服务实例的容器,存放着以前创建的实例;

    如果Injector中还没有ApiService的服务实例,Injector就会创建一个ApiService实例并添加到Injector中,然后返回给Angular;

    最后当所有依赖的服务都被解析完并返回时,Angular会以这些依赖服务为参数调用组件的构造函数,从而创建组件;

  • 相关阅读:
    javascript:Storage 接口
    javascript:CORS 通信
    javascript:同源限制
    javascript:XMLHttpRequest 对象
    javascript:Cookie
    javascript:Navigator 对象,Screen 对象
    javascript:window 对象
    javascript:浏览器环境概述
    javascript:GlobalEventHandlers 接口
    javascript:其他常见事件
  • 原文地址:https://www.cnblogs.com/Failbs/p/8795090.html
Copyright © 2011-2022 走看看