一个组件中的多角度服务

时间:2018-08-09 12:53:15

标签: angular

欢迎使用最新版的《 Angular Newbie提出一个愚蠢的问题!》

我已设置一个内存中数据服务来代替连接我的Web服务。我有两个数组,分别是In-Memory-Data-Service中定义的Users和UserData。我不知道如何在同一组件html模板中同时使用两者。

在Src目录中,我为两者都设置了service.ts,但是我仍然不知道如何在同一组件中使用两者。

2 个答案:

答案 0 :(得分:8)

要在组件中使用一项或多项服务,您将需要在该组件中导入该服务,例如

import { MyService1 } from '../services/MyService1.service';
import { MyService2 } from '../services/MyService2.service';

然后您需要将这些服务注入构造器中

constructor(private myService1: MyService1, private myService2: MyService2) { }

答案 1 :(得分:1)

我不知道您的代码如何,我提供了一个简单服务的菜鸟级示例

// Service.ts

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

@Injectable({
  providedIn: 'root'
})
export class Service {

  private users=['a','b','c'];
  private userData=['x','y','z'];

  constructor() { }

  getUsers():<any>
  {
    return this.users;
  }

  getUserData():<any>
  {
    return this.userData;
  }


}

// Component.ts

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

@Component({
  selector: 'app-account-detail',
  templateUrl: './account-detail.component.html',
  styleUrls: ['./account-detail.component.css']
})
export class AccountDetailComponent implements OnInit {

 public userArr,userDataArr;
  constructor(private service:Service) { }

  ngOnInit() {





    this.userArr= this.service.getUsers();
    this.usersDataArr = this.service.getUserData();




  }

}