1

我正在尝试与联系人制定议程,而我刚刚开始学习 AngularJS。到目前为止,我做了一个生成 JSON 的 php,将其加载到角度控制器上,然后在 html 上显示。

这是角码

var Agenda = angular.module('Agenda', []);

Agenda.controller('Contacts', function($scope, $http) {
    $http.get('php/contacts.php').success(function(data) {
        $scope.jsonContacts = data;
    });
});

这是HTML

<section class="agenda" ng-app="Agenda">
        <ul ng-controller="Contacts">
            <li ng-repeat="contact in jsonContacts">
                <div class="col1">{{contact.contact_id}}</div>
                <div class="col2">{{contact.contact_firstname + ' ' + contact.contact_lastname}}</div>
                <div class="col3">{{contact.contact_phone}}</div>
                <div class="col4">{{contact.contact_email}}</div>
            </li>
        </ul>

        <a>Refresh</a>
    </section>

到目前为止一切都很好,但现在我试图在按下刷新时刷新列表的内容,但我不知道该怎么做。如果我在这段代码中也做错了什么,请告诉我。

提前谢谢你,丹尼尔!

4

1 回答 1

3

你已经成功了一半!这里有一些细微的调整,你应该做的伎俩。将您的$http调用转换为我们可以重复调用的函数 - refresh()

Agenda.controller('Contacts', function($scope, $http) {
    $scope.refresh = function() {
        $http.get('php/contacts.php').success(function(data) {
            $scope.jsonContacts = data;
        });
    }

    // call it initially
    $scope.refresh();
});

然后简单地使用ng-click来调用我们上面添加的新refresh()函数:

<section class="agenda" ng-app="Agenda">
        <ul ng-controller="Contacts">
            <li ng-repeat="contact in jsonContacts">
                <div class="col1">{{contact.contact_id}}</div>
                <div class="col2">{{contact.contact_firstname + ' ' + contact.contact_lastname}}</div>
                <div class="col3">{{contact.contact_phone}}</div>
                <div class="col4">{{contact.contact_email}}</div>
            </li>
        </ul>

        <a ng-click="refresh()">Refresh</a>
    </section>
于 2013-08-28T23:33:40.757 回答