Как пройти NativeScript-Angular Урок 2 Шаг 10? - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу сделать учебник Playground для NativeScript и Angular. Я застрял в уроке 2, шаг 10, из-за ошибки компиляции, в которой говорится, что связанные с http сегменты функции входа в систему не известны классу.

import { Injectable } from "@angular/core";

import { User } from "./user.model";

@Injectable()
export class UserService {
register(user: User) {
alert("About to register: " + user.email);
}

login(user: User) {
    return this.http.post(
        Config.apiUrl + "user/" + Config.appKey + "/login",
        JSON.stringify({
            username: user.email,
            password: user.password
        }),
        { headers: this.getCommonHeaders() }
    ).pipe(
        map(response => response.json()),
        tap(data => {
            Config.token = data._kmd.authtoken
        }),
        catchError(this.handleErrors)
    );
}
}

Я думаю, что что-то еще не важно, поэтому функции, связанные с http, не работают. Я искал код учебника, если что-то пропустил, но ничего не могу найти.

Было бы неплохо, если бы кто-то мог сказать мне, как продолжить урок, или сказать, что я должен найти нужный фрагмент. :)

1 Ответ

0 голосов
/ 03 апреля 2019

Проверьте настройки

  • Убедитесь, что импорт для HttpClient добавлен в ваш модуль
    import { HttpClientModule } from '@angular/common/http';

    @NgModule({
      imports: [
        BrowserModule,
        // import HttpClientModule after BrowserModule.
        HttpClientModule,
      ],
      declarations: [
        AppComponent,
      ],
      bootstrap: [ AppComponent ]
    })

  • Убедитесь, что выдобавьте объект http в конструктор вашего класса
constructor(private http: HttpClient) { }

, после чего вы сможете ссылаться на http из любой функции вашего класса

doSomePosting() {
    // this.http.post(postUrl, postData, postOptions);
}
...