首页 > 解决方案 > 如何在url中放参数

问题描述

我有一个带有订单列表和搜索按钮的页面,我希望 URL 更改取决于我使用的搜索结果 $location.search 并且它可以工作,但我不知道如何在页面 URL 中的 app.js 中实现它,我想将它添加到 URL 中,这样当用户单击后退按钮时,他会再次获得过滤列表

这是我的控制器

function openPage (key,value,key1,value1) {
       $location.search(key, value);
       var params = $location.search();
    }

这是我的 app.js,它没有用

 .state('qa-dashboard.orders-list', {
        url: "/orders-list/?params",
        module: "private",
        templateUrl: "app/qa-dashboard/orders/orders-list/orders-list.html",
        controller: 'OrdersListCtrl',

我的控制器具有搜索功能,当用户进入页面时,我首先调用此功能

    function searchOrdersValue(){
    console.log(QaDashboardService.searchValue);
        if ( QaDashboardService.searchValue == 'pendeing'|| QaDashboardService.searchValue == 'problem'){
            model.status =QaDashboardService.searchValue;
            model.searchOrders();
        }
        else if (QaDashboardService.searchValue !== ''){

            if (isStringNumber(QaDashboardService.searchValue)){
                console.log('enter number')
                model.filterByNumber =QaDashboardService.searchValue;
                model.searchOrders()

            }

            else {
                model.startFrom= QaDashboardService.searchValue;
                model.startTo=QaDashboardService.searchValue1;
                model.searchOrders()
             }
        }

        if (model.status !==''){
            QaDashboardService.searchValue= ($stateParams.status) ? $stateParams.status:  '';

        }
        else if (model.startFrom !== ''){
            QaDashboardService.searchValue= ($stateParams.startFrom) ? $stateParams.startFrom:  '';
            QaDashboardService.searchValue1= ($stateParams.startTo) ? $stateParams.startTo:  '';

        }
        else {
            QaDashboardService.searchValue= ($stateParams.filterByNumber) ? $stateParams.filterByNumber:  '';

        }

标签: javascriptangularjs

解决方案


您可以使用 $state.go("your state name") 并将参数传递给该页面,如下所示:

function openPage (key,value,key1,value1) {
       $location.search(key, value);
       var params = $location.search();
       $state.go('qa-dashboard.orders-list',{'params':params});
    }

并在 OrdersListCtrl 上使用 $stateParams 检索它。


推荐阅读