簡體   English   中英

使用查詢字符串參數過濾數據

[英]Filter data using query string parameters

我有2個文件:

使用以下代碼的module.js:

angular.module('App.fragments.Jobs', []).
config(['$stateProvider', function($stateProvider) {
    $stateProvider
        .state('jobs', {
            url: '/trabajos',
            templateUrl: '/templates/jobs/list.html',
            controller: 'JobsListCtrl'
        });
}]);

具有以下代碼的Jobs-list-ctrl.js:

angular.module('App.fragments.Jobs')
.controller('JobsListCtrl', ['$scope', 'JobsListService', function ($scope, JobsListService) {
    $scope.filter = function() {
        JobsListService.loadJobs($scope.filters, function(_response) {
            console.log(_response.length, "jobs...");
        });
    };

    $scope.filter();
}]);

我正在通過lean.domain.com/apps/hub/noop#/trabajos訪問此文件

問題是我想像這樣通過我的網址傳遞參數:

我正在通過lean.domain.com/apps/hub/noop#/trabajos?param_one=value_one&param_two=value_two ...

然后在我的控制器中獲取這些值,以使用前面顯示的過濾方法過濾數據。 像這樣:

angular.module('App.fragments.Jobs')
.controller('JobsListCtrl', ['$scope', 'JobsListService', function ($scope, JobsListService) {

    //Parse value_one&param_two=value_two from url
    //and fill $scope.filters with value like
    //{param_one: value_one, param_two: value_two}

    $scope.filter = function() {
        JobsListService.loadJobs($scope.filters, function(_response) {
            console.log(_response.length, "jobs...");
        });
    };

    $scope.filter();
}]);

我讀到有關$ locationui-router以及$ stateParams的信息,但是我不確定執行此操作的最佳方法是什么,為什么?

如果要提取查詢字符串中的內容,可以這樣定位$ location:

對於此網址lean.domain.com/apps/hub/noop#/trabajos?param_one=value_one&param_two=value_two,您可以使用$ location.search()以JavaScript對象格式返回查詢字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM