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);
- 如何删除angular-ui-router URL中的“#”号
- 试图根据常量在控制器中dynamic设置templateUrl
- 如何查看在AngularJS / UI-Router中configuration了哪些状态?
- 如何实现“ui-sref”被有条件地执行?
- 有用的ui路由器unit testing(状态到url)
- UI路由器与$ httpbackendunit testing,angular度js干涉
- 什么是Angular UI路由器生命周期? (用于debugging静默错误)
- 有angular的ui路由器滚动到顶部,而不是ui-view
- AngularJS的ui-router中没有URL的状态参数