我想从登录组件调用在@ngModule中导入的服务。 这就是我所做的,但它不起作用。 我刚刚开始研究A2最终版本。
export class Login implements OnInit{
constructor(
private _service: Service
) {
}
ngOnInit() {
this._service.login(value)
.subscribe(x => console.log(x));
}
}
}
我的@ngModule
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { LoginService } from '../service/login.service';
import { Login } from './login.component';
export const routes = [
{ path: '', component: Login, pathMatch: 'full' }
];
@NgModule({
declarations: [
Login
],
imports: [
CommonModule,
RouterModule.forChild(routes)
],
providers: [LoginService]
})
export default class LoginModule {
static routes = routes;
}
有什么想法吗?
答案 0 :(得分:1)
内部构造函数Service
应为LoginService
,因为您要访问/创建LoginService
的实例。还要确保已导入LoginService
。
constructor(
private _service: LoginService //<-- changed dependency type name
) {
}
答案 1 :(得分:1)
将您的组件类变为使用LoginService
export class Login implements OnInit{
constructor(
private _service: LoginService
) {
}
ngOnInit() {
this._service.login(value)
.subscribe(x => console.log(x));
}
}
}
答案 2 :(得分:0)
您还必须在Login组件中导入LoginService并将其添加到构造函数中:
constructor( _service: LoginService) { }