В настоящее время я пытаюсь использовать ngrx в новом проекте. Что я сделал, так это то, что я написал компонент входа в систему, где пользователь может вводить учетные данные. Затем я отправляю новое действие с данными для входа.
Пока это работает. Теперь попробовал поиграться с эффектами ngrx. Эффект сработал правильно, потому что, когда я пытаюсь получить доступ к свойству «email» моей пользовательской модели в функции карты, оно всегда возвращает undefined, но когда я отлаживаю, отображается правильное значение. Может быть, здесь поможет какой-нибудь код:
@Effect()
auth$: Observable<Action> = this.actions$.pipe(
ofType<authActions.Authenticate>(authActions.AUTHENTICATE),
map((creds: LoginViewModel) => {
const appUser = new AppUserViewModel(creds.email, 'Test');
return new authActions.AuthenticationSuccessfull(appUser);
})
);
Как видите, я передаю учетные данные, такие как LoginViewModel, и пытаюсь получить доступ к свойству «email». Я всегда получаю undefined для этого значения свойства. здесь вы можете увидеть, какое значение имеет значение, когда я отлаживаю.
Как видите, свойство электронной почты установлено, когда я отлаживаю. У кого-нибудь есть подсказка или объяснение, почему я не могу получить доступ к значению этого свойства? У меня здесь недоразумение?
Потому что даже если я создаю console.log (credentials.email), он говорит undefined
класс пользователя:
export class AppUserViewModel {
public email: string;
public userName: string;
constructor(email: string, userName: string) {
this.email = email;
this.userName = userName;
}
}
И класс LoginViewModel
export class LoginViewModel {
public email: string;
public password: string;
constructor(email: string, password: string) {
this.email = email;
this.password = password;
}
}
Я отправляю свое действие так:
onSubmit() {
this._store.dispatch(new authActions.Authenticate(this.loginModel));
this.submitted = true;
}
С уважением
AppUserViewModel
- person Християн Христов   schedule 19.06.2018credentials
? Я пытался воспроизвести то, что вы делаете, и мне это кажется нормальным: D - person Християн Христов   schedule 19.06.2018authActions.Authenticate
действие - person Okan Aslankan   schedule 19.06.2018