Powiąż json z tabelą HTML za pomocą AngularJS na stronie ładowania
Mam prosty dowód koncepcji, którego używam jako podstawy do nauki niektórych AngularJS. Kod wyświetla niektóre dane JSON w tabeli HTML w następujący sposób:
HTML:
<div ng-app="myApp">
<div ng-controller="PeopleCtrl">
<p>Click <a ng-click="loadPeople()">here</a> to load data.</p>
<table>
<tr>
<th>Id</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr ng-repeat="person in people">
<td>{{person.id}}</td>
<td>{{person.firstName}}</td>
<td>{{person.lastName}}</td>
</tr>
</table>
</div>
</div>
JS:
var mockDataForThisTest = "json=" + encodeURI(JSON.stringify([
{
id: 1,
firstName: "Peter",
lastName: "Jhons"},
{
id: 2,
firstName: "David",
lastName: "Bowie"}
]));
var app = angular.module('myApp', []);
function PeopleCtrl($scope, $http) {
$scope.people = [];
$scope.loadPeople = function() {
var httpRequest = $http({
method: 'POST',
url: '/echo/json/',
data: mockDataForThisTest
}).success(function(data, status) {
$scope.people = data;
});
};
}
Skrzypce jest tutaj:http://jsfiddle.net/TUJ9D/
To działa dobrze; po kliknięciu łącza wywołuje on „loadPeople”, a json zostaje wciągnięty do tabeli. Jednak to, co chciałbym zrobić, to powiązać to, gdy strona się ładuje, więc użytkownik nie musi ręcznie klikać łącza, aby zobaczyć dane w tabeli.
Zastanawiałem się, jak najlepiej to zrobić? Instynkt nakazuje mi wywołać funkcję z jquery na stronie ładowania, ale nie wiem, czy jest to dobre podejście, czy też Angular może to zrobić lepiej.
Dzięki, ludzie.