Jquery Can';t解析LoginService:5的所有参数
一、 我是新来的。尝试解决此问题时,无法解决LoginService的所有参数 这是我的登录服务类Jquery Can';t解析LoginService:5的所有参数,jquery,asp.net-mvc,angular,asp.net-core,Jquery,Asp.net Mvc,Angular,Asp.net Core,一、 我是新来的。尝试解决此问题时,无法解决LoginService的所有参数 这是我的登录服务类 import { Injectable } from '@angular/core'; import { LoginViewModel as loginVM } from "../../viewmodel/app.login.viewmodel" import { Data as LoginVmData } from '../../viewmodel/app.loginVm' import { H
import { Injectable } from '@angular/core';
import { LoginViewModel as loginVM } from "../../viewmodel/app.login.viewmodel"
import { Data as LoginVmData } from '../../viewmodel/app.loginVm'
import { HttpClient, HttpHeaders } from "@angular/common/http";
import { Observable } from 'rxjs';
@Injectable()
export class LoginService {
private loginUrl = "Account/Authentication";
private registerUrl = "Account/Registration";
private _httpClientModule: HttpClient;
private _loginVmData: LoginVmData;
constructor(httpClientModule: HttpClient, loginVmData: LoginVmData ) {
this._httpClientModule = httpClientModule;
this._loginVmData = loginVmData;
}
public LoginHttpCall(): Observable<loginVM> {
const headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');
return this._httpClientModule.post<loginVM>(this.loginUrl, this._loginVmData, { headers });
}
public registerHttpCall(_loginVM: LoginVmData): Observable<loginVM> {
const headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');
return this._httpClientModule.post<loginVM>(this.registerUrl, _loginVM, { headers });
}
}
APP.Shared.Module
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './components/app/app.component';
import { EqualValidator } from "./components/Validation/equal.validator.directive";
import { HomeComponent } from './components/home/home.component';
import { LoginComponent } from './components/usercreation/login.component';
import { MobileComponent } from './components/mobile/mobile.component';
import { SocialComponent } from './components/usercreation/social.component';
import { RegisterComponent } from './components/usercreation/signup.component';
import { DashBoardComponent } from './components/dashboard/dashboard.component';
@NgModule({
declarations: [
AppComponent, RegisterComponent, EqualValidator, DashBoardComponent,
HomeComponent,
LoginComponent,
MobileComponent,
SocialComponent
],
imports: [
CommonModule,
HttpClientModule,
FormsModule,
RouterModule.forRoot([
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'login', component: LoginComponent },
{ path: 'mobile', component: MobileComponent },
{ path: 'dashboard', component: DashBoardComponent },
{ path: 'signup', component: RegisterComponent },
{ path: '**', redirectTo: 'home' }
])
]
})
export class AppModuleShared {
}
最后一个App.Component.ts
import { Component } from '@angular/core';
import { DashBoardComponent } from "../../components/dashboard/dashboard.component";
import { LoginViewModel } from "../../viewmodel/app.login.viewmodel";
@Component({
selector: 'app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
public menulist: boolean = true;
private _dashBoard: DashBoardComponent;
public _loginVM: LoginViewModel;
constructor(loginVm: LoginViewModel, dashboard: DashBoardComponent) {
this.menulist = true;
this._dashBoard = dashboard;
this._loginVM = loginVm;
}
ngOnInit() {
this.menulist = true;
}
}
我正在创建的循环依赖关系在哪里?我无法理解
请给我一些帮助。我将Angular 5与asp.net core 2.0一起使用问题与
登录服务中的loginVmData:loginVmData
有关。DI在尝试注入时无法检测到它是什么。关于这一点,你可以阅读
但是
查看您的代码,您只是将此数据传递到LoginHttpCall
服务中。因此,您可以将其从构造函数中删除,并使该方法接受此数据,类似于registerhtpcall
方法。在方法中传递登录模型,而不是将其注入构造函数
constructor(httpClientModule: HttpClient ) {
this._httpClientModule = httpClientModule;
}
public LoginHttpCall(loginVmData: LoginVmData): Observable<loginVM> {
const headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');
return this._httpClientModule.post<loginVM>(this.loginUrl, loginVmData, { headers });
}
构造函数(httpClientModule:HttpClient){
这是.\u httpClientModule=httpClientModule;
}
公共LoginHttpCall(loginVmData:loginVmData):可观察{
const headers=new-HttpHeaders().set('Content-Type','application/json;charset=utf-8');
返回此.httpClientModule.post(this.loginUrl,loginVmData,{headers});
}
您在app.loginVm.ts文件中导入了任何东西吗?为什么要在另一个组件类中注入组件?!你能提供更多关于你想做什么的信息吗
constructor(httpClientModule: HttpClient ) {
this._httpClientModule = httpClientModule;
}
public LoginHttpCall(loginVmData: LoginVmData): Observable<loginVM> {
const headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');
return this._httpClientModule.post<loginVM>(this.loginUrl, loginVmData, { headers });
}