Angularjs $ routeParams проблема

0

Я изо всех сил пытаюсь заставить $ routeParams работать. То, что я хочу сделать, это заполнить поле отписки с адресом электронной почты, который содержится в ссылке на URL-адрес. Я использую AngularJS, и после прочтения вокруг предмета кажется $ routeParam - это путь, но я не могу заставить его работать

Мой HTML:

        <form class="form-signin" name="regForm">
                 <input type="email" id="email" name="email" class="form-control" ng-model="user.email">
       </form>

Мой.config с $ routeProvider

    .config(['$routeProvider',  function ($routeProvider) {
$routeProvider
     .when('/unsubscribe/:email', {
         templateUrl: 'unsubscribe/unsubscribe.html',
         controller: 'unsubscribeCtrl'
     })
 }]);

Мой контролер с $ routeParams

.controller('unsubscribeCtrl', ['$scope', '$location', '$routeParams', function ($scope, $location, $routeParams) {

   var param1 = $routeParams.email

   console.log(param1)
 }]);

Теперь, когда я перехожу к myURL/app/#/unsubscribe? Email = some_text, браузер остается пустым, и я не получаю никаких ошибок в консоли. Неужели я неправильно понимаю, как должен работать $ routeParams?

Теги:

3 ответа

1
Лучший ответ

URL-адрес, который вы пытаетесь получить, не соответствует указанному маршруту в таблице $routeparams. Вы должны попытаться перейти к app/#/unsubscribe/some_text. $routeparams поймут, что электронное письмо является some_text

  • 0
    Спасибо, я был близко, но вставил не тот кусок головоломки в конце!
  • 0
    Вы только на 0,02 позже меня, и вы ответили, что приняли, приятно :) +1
0

$routeParams заполняется именованными параметрами, внедренными в путь (например, в /unsubscribe/:email $routeParams :email - это параметр, который будет извлечен).

Кроме того, маршрутизатор пытается сопоставить часть пути URL (без ?…) с списком известных маршрутов, который в этом случае включает только /unsubscribe/:email.

Итак, чтобы параметр электронной почты был доступен контроллеру в $routeParams, вы должны указать свой браузер на myURL/app/#/unsubscribe/some_text.

0

Поскольку ваш URL-адрес настроен в маршрутизаторе, ваш URL-адрес в браузере должен быть ниже, тогда только вы можете получить значение email как some_text из $routeParams

myURL/app/#/unsubscribe/some_text

Ещё вопросы

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