我的Angular应用程序中有产品列表状态和产品编辑/添加状态。
产品列表数据加载到控制器中(我不认为我需要在状态配置中定义解析)从ngResource获取数据:
function InventoryListCtrl (myResource) {
var vm = this;
myResource.query(function (data) {
vm.products = data;
});
}
在编辑控制器上,在我编辑产品后,我回到列表状态,如下所示:
vm.product.$update().$promise;
$state.go('productList');
它始终没有用新数据加载列表,它通常在第一次运行时显示旧数据,然后在我进行第二次更新并手动返回列表状态后,它会在每次更新后开始刷新。
我已经尝试过这个,但也没有尝试:
vm.product.$update().$promise;
$state.go('productList', {}, { reload: true });
我错过了什么?
答案 0 :(得分:80)
我认为您在更新完成之前正在加载新状态 - 尝试将状态转换移至更新完成后:
vm.product.$update().then(function(){
$state.go('productList', {}, { reload: true });
});
答案 1 :(得分:14)
我认为这应该适用于当前状态刷新。
$state.go($state.current, {}, {reload: true}); //second parameter is for $stateParams
答案 2 :(得分:3)
我在编辑后没有刷新的列表遇到了同样的问题。在$ timeout函数中包装$ state.go解决了我的问题。
$timeout(function(){
$state.go('publishers.list', {}, { reload: true });
},200);