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会以这些依赖服务为参数调用组件的构造函数,从而创建组件;

  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/Failbs/p/8795090.html
Copyright © 2011-2022 走看看