Chcę zmienić adres URL w mojej aplikacji angularjs na bieżąco, przechylając w polu wejściowym.Jak mogę zmienić parametry w url z AngularJS?
np.
- Zatrzymuję się na:
http://localhost/test/year/2012
- będę zmieniać na stronie poprzez polu wejściowym roku, do 2013 roku, że Call My yearIsChanged funkcję, niż adres URL należy zmienić na
http://localhost/test/year/2013
- Ale z mojego obecnego konfiguracja URL został zmieniony na
http://localhost/test/year/2012/?year=2013
Moja konfiguracja modul.
var module = angular.module('exampleApp').
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/test/year/:year', {templateUrl: 'partials/test.html', controller: OverviewCtrl, reloadOnSearch: false}).
otherwise({redirectTo: '/'});
}]);
działanie kontrolera:
function OverviewCtrl($scope,$routeParams, $location) {
$scope.yearIsChanged = function() {
$location.search('year', $scope.year);
}
}
Ok, że prawidłowo zmienić adres URL. Ale z '$ location.url (...)' jest przeładowaniem strony, a parametr "' reloadOnSearch': false "nie działa. Ma AngularJS inny parametr dla np. 'reloadOnUrlChange'? – Silver52
Your OverviewCtrl zostanie wykonany ponownie, gdy trasa rzeczywiście się zmieni (np. Nie po wprowadzeniu '2012'). – asgoth
Jeśli wprowadzę coś w moim polu wejściowym, to kontroler zostanie ponownie zainicjowany i straciłem fokus pola wejściowego. Jest to problem, ponieważ nie mogę ustawić pola wejściowego dla każdej postaci. : D – Silver52