[英]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¶m_two=value_two ...
然后在我的控制器中獲取這些值,以使用前面顯示的過濾方法過濾數據。 像這樣:
angular.module('App.fragments.Jobs')
.controller('JobsListCtrl', ['$scope', 'JobsListService', function ($scope, JobsListService) {
//Parse value_one¶m_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();
}]);
我讀到有關$ location和ui-router以及$ stateParams的信息,但是我不確定執行此操作的最佳方法是什么,為什么?
如果要提取查詢字符串中的內容,可以這樣定位$ location:
對於此網址lean.domain.com/apps/hub/noop#/trabajos?param_one=value_one¶m_two=value_two,您可以使用$ location.search()以JavaScript對象格式返回查詢字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.