2016-01-30 21 views
5

Desidero ottenere i valori della stringa di query. Sto usando $ location.search() per ottenere quei valori ma dice che $ location.search non è una funzione. Sto usando la versione 1.5 di AngularJs.

JS -

var app = angular.module('myApp', []); 
app.config(['$locationProvider', function($locationProvider){ 
    $locationProvider.html5Mode(true); 
}]); 


app.controller('myCtrl',[ '$location','$scope', function($scope, $location){ 
     var searchObject = $location.search(); 
     console.log('searchObject'); 
     console.log(searchObject); 
}]); 

non capisco quello che mi manca nel codice.

risposta

5

Ovviamente non è una funzione, perché si sta chiamando il metodo search sull'oggetto $scope. L'ordine dei servizi che si iniettano nel controller è $location quindi $scope. Quindi quello che hai chiamato $location nel controller è in realtà un $scope. L'ordine è importante

iniezione di dipendenza corretta dovrebbe essere:

[ '$location', '$scope', function($location, $scope) { 
+0

grazie mille – sajalsuraj