在用Angularjs删除后刷新联系人列表
问题描述:
在AngularJs中的新手。在用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');}
};
我app.js
.state("persoonEdit", {
abstract: true,
url: "/personen/edit/:id",
templateUrl: "app/contacten/contactEditView.html",
controller: "PersoonEditController as vm",
resolve:{
contactResource: "contactResource",
contact: function(contactResource, $stateParams){
var id = $stateParams.id;
return contactResource.get({id: id}).$promise;
}
}
})
按钮,在HTML:
button class="btn btn-default"
style="width:70px;"
ng-click="vm.delete()">Verwijder
</button>
我想我需要刷新我的控制器。但没有任何工作。有什么建议么 ?
答
在您的控制器,请尝试移动
$state.go('contactLijst');
在函数内(数据){}函数。
仅当remove调用结束执行后,才会将您重定向回主页面。目前,控制器触发删除联系人的请求,然后立即将您路由回主页面(由于JavaScript的异步特性)。
希望这会有所帮助!
答
使用JavaScript Array splice()方法。
答
明白了! 改变了2件事!
有了这个第一:
(function(){
"use strict";
angular
.module("lesAmis")
.controller("PersoonEditController",
["contact","$state",
PersoonEditController]);
function PersoonEditController(contact,people,$state){
但ofcourse我有一个参数提供给许多! '人'参数。
所以现在是:
(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');});
}};
问题解决了!
由于某种原因,我不能访问$状态参数了,如果我这样做......甚至给它作为参数在该功能不起作用:($状态是undefined :( – Fosa