美文网首页
ng4.x 提供器

ng4.x 提供器

作者: __凌 | 来源:发表于2017-10-26 12:07 被阅读0次

《product.service.ts》:

import { Injectable } from '@angular/core';

@Injectable()

export class ProductService {

constructor() { }

getProduct(): Product {

 return new Product(0,"ipad",3555,"商品介绍");

}

export class Product {

   constructor(

       public  id:number,

      public title:string,

      public price:number,

     public  desc:string

     ){}

}

}

《app.module.ts》:

import { ProductService } from "./services/product.service";

providers: [ProductService]

《product.component.ts》:

商品服务ProductService通过商品组件ProductComponent的构造函数contructor注入其内,然后使用服务的getProduct方法获得数据product

import { Component, OnInit } from '@angular/core';

import { Product } from '../services/product.service';

export class ProductComponent implement OnInit {

    product :Product;

    constructor ( private productService:ProductService){   }

    ngOnInit () {

        this.product = this.productService.getProduct();

   }

}

《product.component.html》:

<div>

  <h4> 名称:{{ product.title }}</h4>

 . ..

</div>

《app.component.html》:

<app-product></app-product>

提供器的作用域:

No 1:当一个提供器声明在模块中时,它是对当前组件及子组件可见的

《app.module.ts》:

import { ProductService } from "./services/product.service";

providers: [ProductService]

No 2:当一个提供器声明在组件中时,它是对所有组件可见的,都可注入它

《product1.component.ts》:

@Component({

  providers:[ { 

      provide: ProductService,

     useClass:AnotherProductService

   }]

})

No 3:当声明在组件中的提供器和声明在模块中的提供器具有相同的头部时,组件中的提供器

No 4:一般情况下优先将提供器声明在模块中



小结:

No 1:将所有的服务都统一加上:

import { Injectable } from '@angular/core';

@Injectable()   装饰器

No 2 :@Component(...)装饰器等是@Injectable()  装饰器的子类

相关文章

  • ng4.x 提供器 -- 工厂提供器

    工厂提供器使用场合: No 1:根据某些条件来具体实例化某些对象 No 2:在实例化的时候---调用对象的构造函数...

  • ng4.x 提供器

    《product.service.ts》: import { Injectable } from '@angula...

  • ng4.x 注入器

    在应用启动时,angular会首先创建一个应用级的注入器,然后将模块中声明的提供器都注册到这个注入器中,然后ang...

  • Angular4.x 中使用Swiper

    请问一些 ng4.x里面引入轮播组件 无法执行下面的的命令,npm install @types/swiper ...

  • 54. 服务提供器 延迟提供器

    如果你的提供器仅在服务容器中注册绑定,就可以选择推迟其注册,直到当它真正需要注册绑定。 推迟加载这种提供器会提高应...

  • 53. 服务提供器 注册提供器

    所有服务提供器都在 config/app.php 配置文件中注册。该文件中有一个 providers 数组,用于存...

  • 内容提供器

    1.ContentResolver  对于每一个应用程序来说,如果想要访问内容提供器(ContentProvide...

  • 身份提供器

    layout: docs-default 身份提供器 IdentityServer支持通过第三方身份认证器来认证,...

  • 内容提供器

    Content Provider 主要用于在不同App间共享数据。 权限申请 App中某些功能的执行需要申请And...

  • 内容提供器

    一般有两种,一种是使用现有的内容提供器,读取和操作相应程序的数据,另一种是创建自己的内容提供器给其他程序提供数据。...

网友评论

      本文标题:ng4.x 提供器

      本文链接:https://www.haomeiwen.com/subject/ammguxtx.html