Javascript 错误:无法解析登录页的所有参数:([对象对象],[对象对象对象],[对象对象],?)
我面临着下一个错误,无法理解如何解决它 错误:无法解析LoginPage:[对象对象],[对象对象],[对象对象],?的所有参数 我已经检查了这里的几乎每个主题,并尝试了多种方法来解决它,但第二天仍然无法克服它。 Login.ts Auth.tsJavascript 错误:无法解析登录页的所有参数:([对象对象],[对象对象对象],[对象对象],?),javascript,angular,ionic-framework,ionic4,Javascript,Angular,Ionic Framework,Ionic4,我面临着下一个错误,无法理解如何解决它 错误:无法解析LoginPage:[对象对象],[对象对象],[对象对象],?的所有参数 我已经检查了这里的几乎每个主题,并尝试了多种方法来解决它,但第二天仍然无法克服它。 Login.ts Auth.ts import { Injectable } from '@angular/core'; import { Storage } from '@ionic/storage'; import { Http , Headers } from '@angula
import { Injectable } from '@angular/core';
import { Storage } from '@ionic/storage';
import { Http , Headers } from '@angular/http';
import { TabsPage } from '../../pages/tabs/tabs';
@Injectable()
export class AuthProvider {
rootPage:any = TabsPage;
public token:any;
constructor(public storage:Storage ,public http: Http) {
console.log('Hello AuthProvider Provider');
}
login(credentials){
return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Access-Control-Allow-Origin' , '*');
headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');
headers.append('Accept','application/json');
headers.append('Content-type','application/json');
headers.append('X-Requested-With','XMLHttpRequest');
this.http.post('http://127.0.0.1:8000/api/auth/login', JSON.stringify(credentials), {
headers: headers})
.subscribe(res => {
let data = res.json();
this.token = data.token;
localStorage.setItem('token',data.access_token);
resolve(data);
}, (err) => {
reject(err);
}); });
}
checkAuthentication(){
return new Promise((resolve, reject) => {
this.storage.get('token').then((value) => {
this.token = value;
resolve(this.token)
})
});
}
logout(){
localStorage.setItem('token','');
}
}
app.moodule.ts
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { IonicStorageModule } from '@ionic/storage';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { HomePage } from '../pages/home/home';
import { TabsPage } from '../pages/tabs/tabs';
import { LoginPage } from '../pages/login/login';
import { AddPage } from '../pages/add/add';
import { AuthProvider } from '../providers/auth/auth';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HttpModule } from '@angular/http';
import { ComplaintProvider } from '../providers/complaint/complaint';
@NgModule({
declarations: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage,
LoginPage,
AddPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
HttpModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage,
LoginPage,
AddPage
],
providers: [
StatusBar,
SplashScreen,
AuthProvider,
ComplaintProvider,
{provide: ErrorHandler, useClass: IonicErrorHandler},
]
})
export class AppModule {}
你似乎有一个经典的循环引用。您已经在Auth.ts和LoginPage.ts中导入了选项卡页 经典的循环引用
尝试从Auth.ts中删除选项卡页。一般来说,最好让您的组件执行非常具体的操作,这样您就有了细粒度的代码并避免了这种循环引用问题。问题出在AuthProvider的构造函数中的login page.ts中,我认为http本身有问题。。我不确定,但可能会用HttpClientNo替换它,而不是我尝试的http。我很确定我还有2天没有解决可能注射剂应该含有根或什么?
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { IonicStorageModule } from '@ionic/storage';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { HomePage } from '../pages/home/home';
import { TabsPage } from '../pages/tabs/tabs';
import { LoginPage } from '../pages/login/login';
import { AddPage } from '../pages/add/add';
import { AuthProvider } from '../providers/auth/auth';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HttpModule } from '@angular/http';
import { ComplaintProvider } from '../providers/complaint/complaint';
@NgModule({
declarations: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage,
LoginPage,
AddPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
HttpModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage,
LoginPage,
AddPage
],
providers: [
StatusBar,
SplashScreen,
AuthProvider,
ComplaintProvider,
{provide: ErrorHandler, useClass: IonicErrorHandler},
]
})
export class AppModule {}