ошибка: Property does not exist on type
сразу скажу я бэкэнд и мне просто нужно VIEW я просто повторяю один мануал из сети версии ангуляра видать разные и выходит шляпа:
Код:
Angular CLI: 9.0.4 Node: 12.16.1 OS: win32 x64 import { Injectable } from '@angular/core'; import { Http, Response, Headers, RequestOptions } from '@angular/http'; import { Observable } from 'rxjs'; import { User } from './user'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/catch'; @Injectable() export class UserService{ constructor(private _httpService: Http){} getAllUsers(): Observable<User[]>{ return this._httpService.get("http://localhost:7777/webapp/user") .map((response: Response) => response.json()) .catch(this.handleError); } private handleError(error: Response){ return Observable.throw(error); } } но получаю ошибку: Код:
Property 'map' does not exist on type 'Observable'.ts(2339) import { Injectable } from '@angular/core'; import { Http, Response, Headers, RequestOptions } from '@angular/http'; import { Observable } from 'rxjs'; import { User } from './user'; import { map } from 'rxjs/operators' @Injectable() export class UserService{ constructor(private _httpService: Http){} getUsers(){ return this._httpService.get("http://localhost:7777/webapp/user") .pipe(map((response: Response) => response.json()) .subscribe((response: Response) => { console.log(response) })); } private handleError(error: Response){ return Observable.throw(error); } } но теперь ошибка: Код:
Property 'subscribe' does not exist on type 'OperatorFunction<Response, any>'.ts(2339) |
Не выбирать angular если тебе просто нужен VIEW.:)
У него бессмысленно высокий порог вхождения. Юзай Vue или, в край, React. |
SadiQ228,
Желательно сортировать мануалы по дате их публикации. То что вы делаете на версии ангуляра 9+ уже не нужно. getUsers(){ return this._httpService.get("http://localhost:7777/webapp/user") ну и в другом месте, где происходит вызов этого метода сервиса someFn() { this.userService.getUsers().subscribe(users => console.log(users), error => console.error(error)); } |
Сервис:
import { Injectable } from '@angular/core'; import { Http, Response, Headers, RequestOptions } from '@angular/http'; import { Observable } from 'rxjs'; import { User } from './user'; @Injectable() export class UserService{ constructor(private _httpService: Http){} getAllUsers(){ return this._httpService.get("http://localhost:7777/webapp/user") } private handleError(error: Response){ return Observable.throw(error); } } компонент: import {Component, OnInit} from '@angular/core'; import {Router} from '@angular/router'; import {User} from './user'; import { UserService } from './user.service'; @Component({ selector: 'app-user', templateUrl: './user.component.html', styleUrls: ['./user.component.css'] }) export class UserComponent implements OnInit{ users: User[]; constructor(private _userService: UserService){} ngOnInit(): void { this.getUsers(); } getUsers(): void{ this._userService.getAllUsers().subscribe(users => console.log(users), error => console.error(error)); } } спасибо большое за подсказку, теперь проект компилируется!! однако после компиляции выдает ошибку: Цитата:
|
мой package.json
{ "name": "webapp", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" }, "private": true, "dependencies": { "@angular/animations": "~9.0.3", "@angular/common": "~9.0.3", "@angular/compiler": "~9.0.3", "@angular/core": "~9.0.3", "@angular/forms": "~9.0.3", "@angular/platform-browser": "~9.0.3", "@angular/platform-browser-dynamic": "~9.0.3", "@angular/router": "~9.0.3", "rxjs": "^6.5.4", "tslib": "^1.10.0", "zone.js": "~0.10.2" }, "devDependencies": { "@angular-devkit/build-angular": "~0.900.4", "@angular/cli": "^9.0.4", "@angular/compiler-cli": "~9.0.3", "@angular/language-service": "~9.0.3", "@types/jasmine": "~3.5.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", "codelyzer": "^5.1.2", "jasmine-core": "~3.5.0", "jasmine-spec-reporter": "~4.2.1", "karma": "~4.3.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage-istanbul-reporter": "~2.1.0", "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.2", "protractor": "~5.4.3", "rxjs-compat": "^6.5.4", "ts-node": "~8.3.0", "tslint": "~5.18.0", "typescript": "~3.7.5" } } |
SadiQ228,
нужно удалить все импорты из @angular/http. Этот модуль переехал в @angular/common/http. Вообще читайте документацию и будет вам счастье https://angular.io/guide/http |
жалко в консоли не пишет номер строчки где менять надо меняю в сервисе и модуле и все равно ошибка блин может есть какие то методы диагностики я хз
|
Часовой пояс GMT +3, время: 20:43. |