ウェブサイト検索

angular - Angular2で新しいオブジェクトを作成できず、export classを使用できない


以下はクラス UserDetails:: です

export class UserDetails {
name:string;
phoneNumber:string;
email:string;
password: string;
 }

以下は userDetails が使用されるサービスです::

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { userDetails } from './_models/index';
import 'rxjs/add/operator/map'

@Injectable()
export class AuthenticationService {
private loginUserUrl="http://localhost:8082/TodoApp/login";

constructor(private http: HttpClient) {
//let user = new UserDetails();
}

login(email: string, password: string) {
    console.log("in login service");

    let user = new User();
   user.email=email;
    user.password=password;

    return this.http.post(this.loginUserUrl,user);
    .map(user => {
            // login successful if there's a jwt token in the 
             response
            if (user && user.token) {
                // store user details and jwt token in local storage to keep user logged in between page refreshes
                localStorage.setItem('currentUser', JSON.stringify(user));
            }

            return user;
        });
      }

}

エラー::::ReferenceError: UserDetails が定義されていません at AuthenticationService.login (webpack-internal:///../../../../../src/app/_services/authentication.service.ts:25)

回答 #1

これを試してみて:

import { UserDetails as User } from './_models/index';
//...
let user = new User();

回答 #2

インポートが間違っています。userDetailsではなく、UserDetailsを使用してください。次のように変更してください

import { UserDetails } from './_models/index';

そしてオブジェクトは次のように作成されるべきです、

 let user = new UserDetails();