Ui-Router $ state.go()不刷新数据

我在我的Angular应用程序中有产品列表状态和产品编辑/添加状态。

产品列表数据被加载到控制器(我不认为我需要解决在状态configuration定义)从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 }); 

我错过了什么?

我认为你在更新完成之前加载了新的状态 – 尝试在更新完成之后移动状态转换到:

 vm.product.$update().then(function(){ $state.go('productList', {}, { reload: true }); }); 

我认为这应该适用于当前状态刷新。

 $state.go($state.current, {}, {reload: true}); //second parameter is for $stateParams 

编辑后,我有一个不刷新的列表相同的问题。 在$ timeout函数中包装$ state.go解决了我的问题。

 $timeout(function(){ $state.go('publishers.list', {}, { reload: true }); },200);