कोणीय में $ location.path के अंदर पैरामीटर पास करना


88

मैं सिर्फ $location.path()अपने नियंत्रक में उपयोग करने की कोशिश कर रहा हूं, लेकिन एक पैरामीटर के रूप में एक कस्टम चर भी पारित कर रहा हूं । तो यह कुछ इस तरह से लगता है कि मुझे लगता है:

$scope.parameter = 'Foo';

$location.path('/myURL/' + $scope.parameter);

लेकिन वह काम नहीं करता है। किसी को पता है कि यह कोणीय में कैसे माना जाता है?

जवाबों:


183

पैरामीटर जोड़ने के लिए आपको $location.search()विधि का उपयोग करना चाहिए :

$location.path('/myURL/').search({param: 'value'});

$locationतरीके चेनेबल हैं

यह उत्पादन:

/myURL/?param=value

वर्तनी की जाँच करें, अपर / लोअर केस और इसकी बाइंडिंग
mohsen dorparasti

क्या इसे परिवर्तित करने का कोई तरीका है ताकि url / myURL / param = मान के बजाय / myUrl / मान जैसा लगे?
अज़ीज़ुदे

1
आप .Path ('/ myURL /' + value) का उपयोग कर सकते हैं। लेकिन तब इसे पैरामीटर नहीं कहा जाता है।
मोहेंसे डोरपारास्टी

2
मुझे यह काम करने के लिए अनुगामी / को निकालना था। यह कोड काम की प्रति है $location.path('/myURL').search({param: 'value'});
bodagetta

38

Url में पैरामीटर जोड़ने का दूसरा तरीका है:

 $location.path('/myURL/'+ param1);

और आप myPage.html के लिए मार्ग परिभाषित कर सकते हैं:

config(['$routeProvider', function ($routeProvider) {
        $routeProvider.when('/myURL/:param1', {
            templateUrl: 'path/myPage.html',
            controller: newController
            });
    }]);

पैरामीटर को newController में इस प्रकार एक्सेस किया जा सकता है:

var param1= $routeParams.param1;

1
क्या वह उत्तर एक क्वेरी पैरामीटर या मार्ग विशेषता जोड़ रहा है?
फिल

13

उदाहरण के लिए यदि आपको अपने URL को एक या अधिक मापदंडों में रखना है:

$location.path('/path').search({foo: 'valueFoo', baz:'valueBaz'})

आपके url में प्रतिनिधित्व करेगा

/path?foo=valueFoo&baz=valueBaz

एक अन्य नियंत्रक में परम प्राप्त करने के लिए:

var urlParams = $location.search();


urlParams.foo will return valueFoo

urlParams.baz will return valueBaz

2
  function pathToSomewhere() {
    $stateParams.name= vm.name; //john
    $stateParams.phone= vm.phone; //1234
    $stateParams.dateOfBirth= getDoB(); //10-10-1990

    $location.path("/somewhere/").search($stateParams);

  };

इसके परिणामस्वरूप url आता है

http://middle-of-nowhere.com/#/somewhere/?name=john&phone=1234&dateOfBirth=10-10-1990

इस तरह आपको मैन्युअल रूप से कोष्ठक के अंदर मापदंडों को टाइप करने की आवश्यकता नहीं है


मैं यह मान रहा हूं कि आपके पास इस काम के लिए आपके कंट्रोलर पर $ $ राज्यप्रमाण है।
फिलिप्पेग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.