Angularjs $stateParams的易变数

Angularjs $stateParams的易变数,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有一个表可以显示您可以搜索的数据。它有多个列,但我不知道它们将提前包含多少列或什么 搜索存储在如下对象中: var search = {columnName:'searchInColumnName',...,otherColumn:'otherSearch'}; 我有一个简单的状态配置,我用它来保持过滤+搜索。过滤部分有效,我只是尝试添加搜索 app.config(['$stateProvider', '$urlRouterProvider', function ($statePro

我有一个表可以显示您可以搜索的数据。它有多个列,但我不知道它们将提前包含多少列或什么

搜索存储在如下对象中:

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
,但问题是,你必须在应用程序配置中提前定义,我不知道有多少列,或者它们的名称。是否有人知道如何做到这一点,和/或有更好的解决方案


所有意见/评论都很有帮助

我认为您最好使用一个已知参数,例如
搜索
,并将其值作为搜索参数的序列化

您的状态配置如下所示:

.state('filter?search', {
    /* same as above */
});
您可以使用
$stateParams.search
检索序列化参数