如何从angularjs

时间:2015-04-29 08:15:21

标签: angularjs

我正在使用angularjs。

我在我的API中进行简单的$ http.delete方法调用,用于从网格表中删除行:

我的控制器如下所示:

 $scope.removeRow = function(detail, index){                

       var delRes =  $http.delete($scope.appUrl + detail.id);
        delRes.success(function (data, status, headers, configs) {
            console.log(data);
            delete $scope.appDetails[index].id;
        });
        delRes.error(function (data, status, headers, configs) {
            console.log(data);
        });

    };

现在,API调用工作正常,但我仍然可以在UI上的网格中看到记录。 当我刷新页面时,我看不到。 任何原因。

请帮忙。

2 个答案:

答案 0 :(得分:0)

在我看来,您只是删除了appDetails索引行的id属性。

尝试删除整个appDetails [index]。

如果这不是你的问题,你可以在调用之前尝试使用$ scope。$ apply()并进行适当的检查。适用于异步调用。

  

如果您正在创建AngularJS服务(例如套接字)   应该有一个$ scope。$ apply()它会触发一个回调。

     

$ scope。$ apply()应该尽可能接近async事件绑定   可能。   https://github.com/angular/angular.js/wiki/When-to-use- $范围。$申请()

答案 1 :(得分:0)

您可以使用splice

删除所选索引的主题

最佳方式

请试试这个

fun_mean <- function(x){return(round(data.frame(y=mean(x),label=mean(x,na.rm=T)),digit=2))}

foo <- qplot(Interest, Scored.Probabilities, data = dataset1, geom = "boxplot"); 
foo <- foo+stat_summary(fun.y = mean, geom="point",colour="darkred",size=3)+stat_summary(fun.data = fun_mean,geom="text", vjust=-0.7)
ggsave(foo, file="Interest.png", width=20, height=7)

另一种方式是

重新绑定|重新加载$scope.removeRow = function(detail, index){ var delRes = $http.delete($scope.appUrl + detail.id); delRes.success(function (data, status, headers, configs) { console.log(data); var index = $scope.appDetails.indexOf(detail); $scope.appDetails.splice(index, 1); }); delRes.error(function (data, status, headers, configs) { console.log(data); }); };

$scope.appDetails