У меня есть проект для бронирования отелей, интерфейс создан с использованием angular2, а серверная часть создана с использованием laravel. Это система API. У меня есть список таблиц в angular2. Для этого я получил данные о бронировании из laravel и привязал их к таблице angular, но я не знаю, как работает нумерация страниц через API. Первоначально я извлек и привязал только 15 данных. Как можно получить доступ к большему количеству данных, когда мы нажимаем на следующую страницу. Вот код для laravel angular.
Ларавел
public function index()
{
$bookings = Booking::where('is_delete', 0)
->paginate(15);
return response()->json(['bookingDetails' => $bookings], 200);
}
Угловой2
booking.service.ts
import { Injectable } from '@angular/core';
import { Headers, Http, Response } from '@angular/http';
import { Bookings } from './booking';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/map';
import 'rxjs/Rx';
import { Observable } from "rxjs";
@Injectable()
export class BookingService {
private headers = new Headers({'Content-Type': 'application/json'});
private _url: string = 'http://cabinapi.app/api/bookings/';
/*private _url: string = 'apidata/testData.json';*/
constructor(private http: Http) { }
getBooking(): Observable<any> {
return this.http.get(this._url)
.map((response: Response) => response.json().bookingDetails.data as Bookings[])
.catch(this.handleError);
}
private handleError(error: any): Promise<any> {
console.error('An error occurred', error); // for demo purposes only
return Promise.reject(error.message || error);
}
}
booking.component.ts
import { Component, OnInit } from '@angular/core';
import { BookingService } from './booking.service';
import { Bookings } from './booking';
@Component({
selector: 'booking',
templateUrl: './booking.component.html'
})
export class BookingComponent implements OnInit {
bookings: Bookings[];
constructor(private employeeService: BookingService) {}
getBooking(): void {
/*this.employeeService.getEmployee().then(employees => this.employees = employees);*/
this.employeeService.getBooking().subscribe(bookings => this.bookings = bookings);
}
ngOnInit(): void {
this.getBooking();
setTimeout(function () {
$(function() {
$("#dataTable").DataTable();
});
}, 1000);
}
}