所以我已配置2个州使用SAME控制器,如下所示:
$stateProvider
.state('productsList', {
url: '/products',
templateUrl: 'views/productList.html',
controller: 'ProductsCtrl' //same controller
})
.state('productDetail', {
url: '/products/:productId',
templateUrl: 'views/productDetail.html',
controller: 'ProductsCtrl' //same controller
})
第一个状态(" productsList")具有一些过滤器字段,以及根据过滤器从服务器加载产品列表的表(ngTable)。 ngTable组件配置为具有分页。
让我们说用户在表格中进行分页,当他在第5页时,他选择编辑产品。状态更改为" productDetail"。当他完成编辑时,他想回到产品列表状态确切的位置(第5页,并使用他应用的过滤器)。
但是虽然两个状态都使用相同的Controller,但是当状态改变时,控制器被重新创建。当我处于第二个状态时,我无法从之前的状态获取数据,其中我有当前页面的表格,过滤器等。
我错过了什么?或者可能以错误的方式构建应用程序? (最有可能)
你们如何为这种情况构建?
谢谢!