Привязка json к таблице HTML с AngularJS при загрузке страницы
У меня есть простое доказательство концепции, которое я использую в качестве основы для изучения некоторого AngularJS. Код отображает некоторые данные JSON в таблице HTML следующим образом:
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;
});
};
}
Скрипка здесь:http://jsfiddle.net/TUJ9D/
Это хорошо работает; когда вы нажимаете на ссылку, она вызывает «loadPeople», и json помещается в таблицу. Однако я хотел бы связать это при загрузке страницы, чтобы пользователю не приходилось вручную нажимать на ссылку, чтобы увидеть данные в таблице.
Я задавался вопросом, что лучший способ сделать это? Instinct говорит мне, чтобы я вызывал функцию с помощью jquery при загрузке страницы, но тогда я не знаю, является ли это хорошим подходом или Angular мог бы сделать это лучше сам.
Спасибо, ребята.