Как посмотреть изменения в URL и применить их в модели и наоборот в angularjs 1.2.29?

0

Я использую ui.router для переключения между состояниями. В одном из этих состояний есть боковая панель с моделью filter:

$scope.filter = {
   searchType: 'RENT',
   propertyType: 'APARTMENT',
   min: 0,
   max: 200000
};

Поэтому мой URL-адрес выглядит так: #/search?searchType=RENT&propertyType=APARTMENT&min=0&max=200000.

Как "синхронизировать" URL-адрес и модель?

Поэтому, когда кто-то изменится, допустим, что значение min в URL-адресе, изменение будет отражено в моей модели (и, конечно, в представлении). И если кто-то изменит какое-то значение в представлении, URL-адрес также изменится.


Он попытался использовать $scope.$watchCollection на filter и поймать $locationChangeSuccess событие с $scope.$on Но он не работал так, как я ожидал.

Теги:

1 ответ

0
$scope.$on('$stateChangeSuccess', function () {
  // Grab values using $location.search()
});

Если это событие не делает то, что вы хотите, возможно, вы хотите $ routeChangeSuccess.

  • 0
    События работают хорошо, проблема в непрерывной рекурсии, или они запускаются только один раз.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню