2013-09-10 3 views
0
.

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

Я определил путь, подобный этому.

app.config(function ($routeProvider, $locationProvider, $httpProvider) { 
    $routeProvider.when('/app/setup/confirm/:code',{ 
     // code is $routeParams.code 
    }); 
}); 

Что должно случиться:

  • Сделать $ HTTP вызов к ресурсу апи, который регистрирует код как щелкнул и подтверждает адрес электронной почты
  • Вход пользователя в течение как api и front end
  • Верните пользователя на следующий этап процесса настройки, после чего подтвердится их адрес электронной почты.
  • Если код фиктивный и вызов $ http возвращает false, то перенаправляйте его на страницу регистрации.

Поскольку для этого маршрута не требуется шаблон, я не могу решить, куда поместить код для этого. Если я только определил контроллер, он никогда не будет создан, пока я также не определю шаблон?

Например, это работает

app.config(function ($routeProvider, $locationProvider, $httpProvider) { 
    $routeProvider.when('/app/setup/confirm/:code',{ 
      controller: function($routeParams){ 
       console.log($routeParams.code); 
      }, 
      template: function(){ 
       return '<html></html>'; 
      } 
    }); 
}); 

Но как только я удалить template или даже возвращать пустую строку в шаблоне контроллер не работает. Должен быть правильный способ сделать это, и это не похоже на это.

Может ли кто-нибудь дать мне указатель? Я использую v1.1.2. Благодаря!

ответ

0

Вы должны иметь возможность разрешить запрос контроллеру без указания шаблона. Попробуйте использовать этот шаблон:

app.factory('myService', function() { 
    return 1; 
}); 

app.controller('MyCtrl', function ($scope, myService) { 
    console.log(myService); 
}); 

app.config(function ($routeProvider) { 
    $routeProvider.when('/app/setup/confirm/:code', { 
     resolve: { 
      redirect: 'MainCtrl' 
     } 
    }); 
}) 
+0

Используя этот шаблон определения контроллера, я получаю сообщение об ошибке «Ошибка: неизвестный поставщик:'. :( – markstewie

+0

@markstewie немного изменил. Какой поставщик неизвестен? – zsong

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