AngularJS - 使用新数据刷新列表

时间:2016-02-23 21:45:53

标签: javascript angularjs

我有以下部分内容:

<table ng-controller="WebsitesController">
    <tbody>
    <tr ng-repeat="website in websites.data">
        <td>{{website.name}}</td>
        <td>{{website.url}}</td>
    </tr>
    </tbody>
</table>

这是我的控制者:

myApp.controller('WebsitesController', function($scope, $http) {
    $http({
        method: 'GET',
        url: config.serverUrl + '/websites'
    }).then(function successCallback(response) {
        $scope.websites = response.data.message;
    });
});

我成功地将数据加载到我的视图中。

但是我们想要添加&#34;删除&#34;对于每个项目。删除过程之后 - 如何在不刷新页面的情况下刷新列表?

我假设将GET调用放入&#34;可重复使用&#34;功能包含在过程中,对吧?

1 个答案:

答案 0 :(得分:3)

您需要从数组中删除对象,例如:

<table ng-controller="WebsitesController">
     <tbody>
        <tr ng-repeat="website in websites.data">
           <td>{{website.name}}</td>
           <td>{{website.url}}</td>
           <td><button ng-click="remove($index)">Remove</button></td>
        </tr>
   </tbody>
</table>

移除植入:

$scope.remove = function( index ) {
     var removedElement = $scope.websites.data.splice(index, 1);
     console.log( removedElement );
};

基本上,您通过将其索引(由ngRepeat循环调用的索引)传递给remove函数来从数组中删除元素。

编辑:在ngRepeat循环上应用过滤器时,请阅读@ charlietfl的评论