(Угловой) Как найти строковое значение в массиве - PullRequest
0 голосов
/ 27 июня 2018

Итак, я хочу найти строковое значение, полученное из html-ввода внутри массива, я работаю с углом 5 и использую служебный файл внутри компонента

Мой код

login.component.ts

export class LoginComponent implements OnInit {

  userData = [];

  constructor(private router: Router, private usersList: OperationService) {
  }

  ngOnInit() {
    this.usersList.usersData.subscribe(getData => {
      this.userData = getData;
    });
  }

  login(login: NgForm) {

    if (login.value.userfield === this.userData) {
      this.router.navigate(['home']);
    }
  }
}

operation.service.ts

export class OperationService {

  constructor() {}

  private users = new BehaviorSubject<any>([
    {
      name: 'admin',
      password: 'lol'
    }
  ]);

  usersData = this.users.asObservable();

}

Я попробовал несколько способов, таких как:

this.userData.find(x => x.username == login.value.userfield )

или

this.userData.indexOf(login.value.userfield)

или

login.value.userfield === this.userData

или

JSON.stringify(this.userData)

но это все еще не работает, есть другой вариант сделать это? Я что-то теряю?

1 Ответ

0 голосов
/ 27 июня 2018

У вас есть только имя, а не имя пользователя,

this.userData.find(x => x.name === login.value.userfield )
...