Javascript 使用Angularjs刷新删除后的联系人列表

Javascript 使用Angularjs刷新删除后的联系人列表,javascript,json,angularjs,html,angularjs-ng-repeat,Javascript,Json,Angularjs,Html,Angularjs Ng Repeat,嗨,AngularJs的新手 我想在联系人详细信息屏幕中按下删除按钮。 之后,当按下删除按钮时, 我想返回主联系人列表并刷新联系人列表。 (刚刚删除的联系人已删除) 现在,触点被移除…但是如果我去运行这个函数 $state.go('contactLijst'); 它将返回主页…但是我仍然需要刷新页面 这是我的控制器: (function(){ "use strict"; angular .module("lesAmis") .controlle

嗨,AngularJs的新手

我想在联系人详细信息屏幕中按下删除按钮。 之后,当按下删除按钮时, 我想返回主联系人列表并刷新联系人列表。 (刚刚删除的联系人已删除)

现在,触点被移除…但是如果我去运行这个函数

$state.go('contactLijst');
它将返回主页…但是我仍然需要刷新页面

这是我的控制器:

(function(){
    "use strict";

    angular
        .module("lesAmis")
        .controller("PersoonEditController",
        ["contact","$state",   
         PersoonEditController]);

     function PersoonEditController(contact,people,$state){
         var vm = this;
         vm.people = people;
         vm.contact = contact;

vm.delete = function(){
              var id = vm.contact.id;
              if (id) {
                vm.contact.$delete({id:id}, function(data) {
                 toastr.success("OK, persoon verwijderd <br />" + 
                     data.naam);});

                $state.go('contactLijst');}

         };
html中的按钮:

button class="btn btn-default"
                            style="width:70px;" 
                            ng-click="vm.delete()">Verwijder
                    </button>
button class=“btn btn默认值”
style=“宽度:70px;”
ng单击Verwijder=“vm.delete()”>

我想我需要刷新我的控制器。但一切都不起作用。有什么建议吗?

在控制器中,尝试移动控制器

$state.go('contactLijst');
在函数(data){}函数内部

这将仅在remove调用完成后将您重定向回主页面。目前,控制器会发出删除联系人的请求,然后立即将您路由回主页面(由于JavaScript的异步特性)


希望这有帮助

使用JavaScript数组splice()方法。

明白了!! 改变了两件事

首先是:

(function(){
    "use strict";

    angular
        .module("lesAmis")
        .controller("PersoonEditController",
        ["contact","$state",   
         PersoonEditController]);

     function PersoonEditController(contact,people,$state){
但我当然有一个参数对多个!“人民”参数

所以现在是:

(function(){
    "use strict";

    angular
        .module("lesAmis")
        .controller("PersoonEditController",
        ["contact","$state",   
         PersoonEditController]);

     function PersoonEditController(contact, $state){
现在我的删除功能需要一个特殊的命令!它是
$state.reload()

这里是我的新删除功能:

  vm.delete = function(){
      var id = vm.contact.id;
      if (id) {
        vm.contact.$delete({id:id}, function(data) {
            $state.reload();
            toastr.success("OK, persoon verwijderd");
            $state.go('contactLijst');});

 }};

问题解决了

由于某些原因,如果我这样做,我将无法再访问$state参数…即使在该函数中将其作为参数提供也不起作用:($state未定义:(
  vm.delete = function(){
      var id = vm.contact.id;
      if (id) {
        vm.contact.$delete({id:id}, function(data) {
            $state.reload();
            toastr.success("OK, persoon verwijderd");
            $state.go('contactLijst');});

 }};