0
我必須使用Angular的路由器創建一個prev和next組件,才能進入下一頁。問題不在於角度,而在於增量和減量邏輯。增量在prev,next按鈕中不起作用Angular 4
當我點擊下一次第一次是好的,但第二次,我必須點擊兩次才能看到下一頁。 prev按鈕也一樣。如果我想點擊回來,點擊第一個下一個後,我必須點擊兩次才能進入prev頁面。
我看了看,我看了一眼,看不到錯誤在哪裏。
HTML文件
<button class="btn btn-primary" (click)="prevPage()">Prev</button>
<button class="btn btn-primary" (click)="nextPage()">Next</button>
TS在HTML文件中的文件
pages = [
{name: '../page1', index: 0},
{name: '../page2', index: 1},
{name: '../page3', index: 2}
];
current = this.pages[0];
getIndex(currentIndex: number, shift: number){
const lenght = this.pages.length;
const incre = (((currentIndex + shift) + lenght) % lenght);
console.log(incre);
return incre;
}
prevPage() {
const i = this.getIndex(this.current.index, -1);
this.current = this.pages[i];
this.router.navigate([this.current.name], { relativeTo: this.route });
console.log(this.current.name);
}
nextPage() {
const i = this.getIndex(this.current.index, 1);
this.current = this.pages[i];
this.router.navigate([this.current.name], { relativeTo: this.route });
console.log(this.current.name);
}