2013-11-26 158 views
0

我有2個文件:篩選數據參數

module.js用下面的代碼:

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

作業一覽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

的問題是,我想通過我的網址像這樣通過PARAMS:通過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 and $stateParams,但我不知道什麼是做到這一點,爲什麼最好的辦法

回答

0

如果要提取什麼在你的查詢字符串你可以在你的$ location這樣的:此網址lean.domain.com/apps/hub/noop#/trabajos?param_one=value_one

& param_two = value_two,你可以使用$ location.search()返回JavaScript對象格式的查詢字符串。

+0

正如我所說,我讀了關於$位置。但是,我可以用stateParams做同樣的事情。所以,我的問題不是:如何做到這一點?,我的問題是:什麼是最好的方式來做到這一點,爲什麼? – Leantraxxx