我有一个表格可以显示您可以搜索的数据。它有多个列,但我不知道它们将提前包含多少或哪些内容。
搜索存储在如下对象中:
var search = {columnName:'searchInColumnName',...,otherColumn:'otherSearch'};
我有一个简单的状态配置,我用它来保存过滤+搜索。过滤部分有效,我只是想添加搜索。
app.config(['$stateProvider', '$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
$stateProvider.state('parentState', {
url: '',
abstract: true
});
$stateProvider.state('filter', {
url: '/column/:column/desc/:sort/',
parent: 'parentState',
controller: 'Ctrl'
});
}
]);
我原以为我可以附加/search/?columnName=searchValue
,但问题是,您必须在应用配置中提前定义,并且我不知道有多少列,或者他们是什么名字是。有谁知道如何做到这一点,和/或有更好的解决方案?
所有意见/评论都有帮助!
答案 0 :(得分:0)
我认为您最好的选择是使用已知参数,例如search
并且其值为搜索参数的序列化。
您的状态配置如下所示:
.state('filter?search', {
/* same as above */
});
并且您将使用$stateParams.search
来检索序列化参数。