gpt4 book ai didi

angular - angular-cli中的 'subscribe'类型不存在 'void'属性

转载 作者:行者123 更新时间:2023-12-03 09:47:48 25 4
gpt4 key购买 nike

我是Angle 2的新手,没有为发布的类似问题找到任何合适的答案。

我在angular-cli中的类型“void”上不存在属性“subscribe”。我尝试从rxjs导入订阅,但没有找到该库。

Error Image

请帮助解决此问题。请在下面找到我称为该服务的服务和组件代码。

// ******************************* 

// login.service.ts

// *******************************

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/throw';

@Injectable()
export class LoginService {

constructor(private http: Http) { }

getLoginData(){
this.http.get('./json/login.json')
.map((result: Response) => result.json())
.catch(this.getError);
}

private getError(error: Response): Observable<any>{
console.log(error);
return Observable.throw(error.json() || 'Server Issue');
}

}

// *******************************

// login.component.ts

// *******************************


import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { LoginService } from '../login.service';

@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css'],
providers: [LoginService]
})
export class LoginComponent {
usernameModel: string;
passwordModel: string;
validLogin: Boolean;
constructor(private router: Router, private loginService: LoginService) { }

homeNav(){
if(this.usernameModel === 'jay' && this.passwordModel === 'Jay'){
this.validLogin = true;
this.router.navigate(['/home']);
}
else{
this.validLogin = false;
console.log('Login Error');
}

this.loginService.getLoginData()
.subscribe(
data => console.log(data)
);

}



}

最佳答案

您没有在getLoginData函数中返回observable。添加return关键字,还可以选择将返回类型添加到签名中:

getLoginData(): Observable<any>{
return this.http.get('./json/login.json')
.map((result: Response) => result.json())
.catch(this.getError);
}

关于angular - angular-cli中的 'subscribe'类型不存在 'void'属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43047170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com