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

  • 相关阅读:
    $.each
    KBASP.NET 2.0 網站部署的變革
    详尽解析window.event对象
    Jquery1.2.6 源码分析
    索引学习2聚族索引、非聚族索引、组合索引
    在C#中使用WIA获取扫描仪数据
    Adobe Photoshop CS5简体中文版+完美破解方法
    j2me开发图片加载
    数据库操作
    WPF之DataGrid应用
  • 原文地址:https://www.cnblogs.com/Failbs/p/8795090.html
Copyright © 2020-2023  润新知