Vincule o json à tabela HTML com o AngularJS no carregamento da página
Eu tenho uma simples prova de conceito que estou usando como base para aprender um pouco de AngularJS. O código exibe alguns dados JSON em uma tabela HTML, da seguinte maneira:
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;
});
};
}
Um violino está aqui:http://jsfiddle.net/TUJ9D/
Isso funciona muito bem; quando você clica no link, ele chama "loadPeople" e o json é puxado para a mesa. No entanto, o que eu gostaria de fazer é vincular isso quando a página for carregada, para que o usuário não precise clicar manualmente no link para ver os dados na tabela.
Eu me perguntei qual é a melhor maneira de fazer isso? O instinto está me dizendo para chamar a função com jquery no carregamento da página, mas então eu não sei se é uma boa abordagem ou se Angular poderia fazer isso de uma maneira melhor.
Obrigado pessoal.