如何使用angular 5中正在使用的组件的方法?
在我的项目中,我想使用服务中组件的方法。我想在AdminService中调用AdvisorComponent的ngOnInit()。服务是这样的:如何使用angular 5中正在使用的组件的方法?,angular,Angular,在我的项目中,我想使用服务中组件的方法。我想在AdminService中调用AdvisorComponent的ngOnInit()。服务是这样的: import {AdminAdvisorListComponent} from "../components/admin- components/admin-advosor-list/admin-advisor-list.component"; @Injectable() export class AdminService { public t
import {AdminAdvisorListComponent} from "../components/admin-
components/admin-advosor-list/admin-advisor-list.component";
@Injectable()
export class AdminService {
public token: string;
public headers: any;
constructor(private http: Http,
private apiService: ApiService,
private adminAdvisorList: AdminAdvisorListComponent) {}
initializeAdvisorPage() {
this.adminAdvisorList.ngOnInit();
}
}
AdminAdvisorListComponent代码为:
import {AdminService} from '../../../services/admin.service';
export class AdminAdvisorListComponent implements OnInit {
constructor(private adminService: AdminService){}
ngOnInit(): void {
this.adminService.getAdvisorList().subscribe(
res => {
if (res) {
this.users = res;
}
});
}
有了这些代码,它就会出错
无法解析AdminAdvisorListComponent的所有参数:(?,[object object],[object object],[object object],[object object],[object object])。
我应该如何处理此请求?
谢谢你的帮助
这完全没有道理。组件使用服务,反之亦然。框架调用了ngOnInit():你不应该自己调用这个方法。重新考虑你的设计。从服务调用UI组件不是一个好主意。特别是,您不想手动调用生命周期方法。组件是不可注入的。它们未在Angular的喷油器上注册。所以这是不可能的。服务不应初始化组件。考虑使用路由器代替。U不能注入组件。此外,您正在尝试执行循环依赖项注入,但这是不可能的。如果您也将服务注入组件,那么它也会导致循环依赖项问题。