2015-12-16 4 views
1

Out команды является новым для AngularJS, и в нашем проекте есть веб-страница, которая содержит, например, кнопку, и, когда она нажата, мы делаем это:

$location.path("/newpage").search({param:value})

Мы просто хотим перейти на другую страницу и передать ей некоторые параметры. Это работает, но если после этого на этой второй странице мы делаем:

$location.path("/anotherpage") - путь меняется, но параметры остаются! Конечно, я могу сделать .search({}) после этого.

Но разве это не уродливо - явным образом очистить параметры .search каждый раз, когда мы делаем $location.path?

Я просто не знаю, как опытные разработчики это делают в зрелых проектах, может быть, считается рекомендуемой практикой очищать параметры .search каждый раз, когда мы меняем местоположение, если только в конкретной ситуации, которая требует их сохранения?

Или, может быть, мы не должны использовать $location сеттеры вообще, а что-то еще вместо этого?

ответ

0

Вот единственный ответ, который я получил до этого момента, это от #angularjs IRC. wafflejock говорит, что он обычно использует ui-router и его состояния.

До сих пор, что может быть, что я ищу:

  1. Как $ местонахождения вещи, это позволяет передавать параметры (в состоянии),
  2. И есть идти(), который по умолчанию наследует но также имеет переходTo(), который по умолчанию этого не делает, поэтому я могу просто использовать последний, если я не хочу выполнять состояние,
  3. Что еще более важно, если я не передаю унаследованные параметры и затем захотите вернуться туда, откуда я пришел, и эта страница имеет некоторые параметры, я бы не смог восстановить их с помощью $ location, но это возможно при $ stat e, поскольку я могу просто сказать «переход к родительскому состоянию».

Любые другие хорошие идеи?

Смежные вопросы