export interface User {
country_name: string,
password: string,
email: string,
}
// login.conponent
import {Component} from 'angular2/core';
import {User} from "../../interfaces/user";
import {OnInit} from "angular2/core";
@Component({
selector:'login',
templateUrl:'app/components/login/login.component.html',
})
export class LoginComponent implements OnInit {
newUser: User;
constructor() {}
onSubmit(email = "",password = "") {
this.newUser.email = email; // as example
}
ngOnInit() {
}
}
任何时候,当我尝试使用newUser时,它会让我感觉不自从,在我将要调用的任何一方都不会遇到任何问题。此外,如果试图看看ngInit它也不会发现。 我能错过什么?
答案 0 :(得分:2)
未定义this.newUser
的值。
您需要在分配任何属性值之前对其进行初始化,例如。类似的东西:
this.newUser = { country_name: null, password: null, email: null}
答案 1 :(得分:2)
您为用户定义了界面
export interface UserInterface {
country_name: string,
password: string,
email: string,
}
但是如果你想使用它,你还需要创建User
实例。
export class App {
newUser: User;
constructor() {
this.newUser = new User();
this.newUser.email = 'test@asd.com'
}
}
为此,请确保User
类实现UserInterface
:
export class User implements UserInterface {}