Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2020, 03:06
Новичок на форуме
Отправить личное сообщение для SadiQ228 Посмотреть профиль Найти все сообщения от SadiQ228
 
Регистрация: 03.03.2020
Сообщений: 4

ошибка: 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)
прошу поддержки что надо сделать чтобы заработало?
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2020, 03:27
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Не выбирать angular если тебе просто нужен VIEW.
У него бессмысленно высокий порог вхождения.
Юзай Vue или, в край, React.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2020, 07:16
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

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));
}
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2020, 17:45
Новичок на форуме
Отправить личное сообщение для SadiQ228 Посмотреть профиль Найти все сообщения от SadiQ228
 
Регистрация: 03.03.2020
Сообщений: 4

Сервис:
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));
    }

}


спасибо большое за подсказку, теперь проект компилируется!!

однако после компиляции выдает ошибку:
Цитата:
ERROR in The target entry-point "@angular/http" has missing dependencies:
- @angular/core
- @angular/platform-browser

Последний раз редактировалось SadiQ228, 03.03.2020 в 23:39.
Ответить с цитированием
  #5 (permalink)  
Старый 04.03.2020, 00:01
Новичок на форуме
Отправить личное сообщение для SadiQ228 Посмотреть профиль Найти все сообщения от SadiQ228
 
Регистрация: 03.03.2020
Сообщений: 4

мой 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"
  }
}
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2020, 06:18
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

SadiQ228,
нужно удалить все импорты из @angular/http. Этот модуль переехал в @angular/common/http. Вообще читайте документацию и будет вам счастье https://angular.io/guide/http
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2020, 19:12
Новичок на форуме
Отправить личное сообщение для SadiQ228 Посмотреть профиль Найти все сообщения от SadiQ228
 
Регистрация: 03.03.2020
Сообщений: 4

жалко в консоли не пишет номер строчки где менять надо меняю в сервисе и модуле и все равно ошибка блин может есть какие то методы диагностики я хз
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка cannot read property Иван Репин Общие вопросы Javascript 1 06.06.2018 12:21
Ошибка Cannot read property 'hide' of null strify_25 jQuery 9 24.05.2016 18:18
Ошибка: Uncaught TypeError: Cannot set property 'innerHTML' of null dolte Events/DOM/Window 4 16.09.2013 10:54
Ошибка Uncaught TypeError: Cannot read property 'elements' of undefined Allality Общие вопросы Javascript 14 29.07.2012 18:35
extjs 4 mvc, разбираемся с model & store Lord Daedra ExtJS 1 18.08.2011 22:36