Как получить предыдущую / следующую строку массива в Angular - PullRequest
0 голосов
/ 25 февраля 2020

Что у меня есть : Теперь в моей программе есть предыдущая и следующая кнопка, каждый раз, когда я нажимаю кнопку, {{DepartmentID}} в массиве будет +1 или -1.

Например, текущий {{DepartmentName}}, {{DepartmentID}} равен Узел, 2 , после нажатия кнопки Далее результат будет Node, 3 . (Изменяется только сам идентификатор)

Что я хочу : Когда я нажимаю кнопку Next, результат изменится с Node, 2 >> Ruby, 3 , который находится от 2-го массива к 3-му массиву.

Что я пробовал : непосредственно +1 в let previousName = this.departmentName+1;, но это точно не будет работать, потому что строка не может +1, как это, и я получаю нулевое значение.

Массив отдела

departments = [
    {"id":1,"name":"Angular"},
    {"id":2,"name":"Node"},
    {"id":3,"name":"Ruby"},
  ]

HTML:

<h3>
     you selected department with id = {{departmentName}},{{departmentID}}
    <p class="click"> <button (click)="goPrevious()">Previous</button>
   <button (click)="goNext()">Next</button>
    </h3>

enter image description here

export class DepartmentDetailComponent implements OnInit {
  public departmentID;
  public departmentName;

  constructor(private route : ActivatedRoute,private router: Router) { }

  ngOnInit() {
      this.route.paramMap.subscribe((params:ParamMap) => {
        let id = parseInt(params.get('id'));
        let name = params.get('name');

        this.departmentID = id;
        this.departmentName = name;

      });
    }

goPrevious(){
  let previousId = this.departmentID-1;
  let previousName = this.departmentName; // here is the code to change the departmentName when I click previous button.
 this.router.navigate(['/departments-list',previousId]);

}

1 Ответ

0 голосов
/ 25 февраля 2020

Преобразуйте строку в число следующим образом

ngOnInit() {
  //let id = parseInt(this.route.snapshot.paramMap.get('id'));
  //this.departmentID = id;
  this.route.paramMap.subscribe((params:ParamMap) => {
  this.id = +params['id'];  // (+) converts string 'id' to a number      
    let name = params.get('name');

    this.departmentID = id;
    this.departmentName = name;

  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...