Ангуляр. Пользователь задает пароль. Он должен ввести желаемый пароль на одном экране, потом нажать кнопку, перейти на следующий экран и подтвердить пароль. Тогда заданный пароль отправится на бэкенд.
Пытаюсь использовать ui-router для передачи пароля с одного экрана (= состояния) в следующий.
Читаю мануал:
у сервиса $state, говорит мне мануал, есть метод go, который принимает три параметра: название состояния, параметры, которые надо передать в следующее состояние, и дополнительные опции:
$state.go(to, params, options)
Окей, хочу передать пароль в числе params:
$state.go("password-confirm", {password: $scope.password})
Хрен там. Когда пытаюсь поймать password в следующем state-е, вместо пароля приходит undefined. Туплю. Долго туплю. Потом выгугливаю наконец в stack overflow пример:
$stateProvider
.state('view', {
templateUrl: 'overview',
params: {'index': null, 'anotherKey': null},
controller: 'overviewController'
})
То есть, если не передаешь параметры в составе урла, то надо сначала указать их в настройке state-а, задав пустые значения (типа params: {'password: null}), а только после этого можно отправлять нужные параметры через $state.go (типа $state.go("password-confirm", {password: $scope.password})), и они перезапишут нулевые.
Блин, маны! Почему вас так тяжело курить! Почему вы не приводите примеров?