因此,我将 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 页,以及他应用的过滤器)。
但是,尽管两种状态都使用同一个控制器,但当状态更改时,控制器会重新创建。当我处于第二种状态时,我无法从以前的状态中获取数据,在该状态中我有当前的表页面、过滤器等。
我错过了什么?或者可能以错误的方式构建应用程序?(最有可能的)
你们将如何构建这种情况?
谢谢!