【发布时间】:2017-06-10 09:21:19
【问题描述】:
我有以下服务来获取数据。我正在按预期获取数据
export class UserService {
user: User
private userSource = new Subject<User>();
currentUser = this.userSource.asObservable();
constructor(http: Http){}
resolve(route: ActivatedRouteSnapshot){
return this.http.get('/getUserData')
.map(output => {
console.log("IN RESOLVE. OUTPUT = ");
console.log(output as User); // Getting output here as expected
return output as User;
})
}}
用户模型
export clsss User {
constructor(public Basic: {mob: string; email: string},
public other: {abc: string; xyz: string }) {}
基本组件.ts
export class BasicComponent implements OnInit {
basicForm: FormGroup;
user: User;
constructor(private fb: FormBuilder, public userService: UserService) { }
ngOnInit() {
this.userService.currentUser.subscribe(
result => {
console.log(result)
this.user = result
})
this basicForm = this.fb.group({
mob: [this.user.mob, Validators.compose([Validators.required, Validators.minLength(10)],
email: ['', Validators.compose([Validators.required, EmailValidator.isValidMailFormat])]
})
}}
我希望预先填写这些值。但是user 对象显示undefined。
这是最少的代码。我还有其他组件,例如BasicComponent,每个组件都有forms。我已经包含了所有依赖项和其他声明。它工作正常,除了我没有在 Formbuilder 中获取用户对象
我错过了什么?
【问题讨论】:
标签: angular angular2-forms angular2-services angular2-observables