欢迎使用最新版的《 Angular Newbie提出一个愚蠢的问题!》
我已设置一个内存中数据服务来代替连接我的Web服务。我有两个数组,分别是In-Memory-Data-Service中定义的Users和UserData。我不知道如何在同一组件html模板中同时使用两者。
在Src目录中,我为两者都设置了service.ts,但是我仍然不知道如何在同一组件中使用两者。
答案 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();
}
}