2016-07-21 2 views
0

나는 $ routeParams를 사용하는 데 어려움을 겪고 있습니다. 내가하고 싶은 일은 탈퇴 필드에 URL에 대한 링크에 포함 된 이메일 주소를 채우는 것입니다. 나는 AngularJS와를 사용하여 $ routeParam 보였다있는 피사체의 주위에 읽고 있었다 길을 가야하지만, 나는 그것이 동작하지 않습니다하고

내 HTML : $ routeProvider

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

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

내의 .config

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

    var param1 = $routeParams.email 

    console.log(param1) 
}]); 

지금은 myURL이/응용 프로그램/#로 이동하면 $ routeParams와

내 .controller/unsubscribe? email = some_text 브라우저는 공백으로 남아 있으며 콘솔에 오류가 표시되지 않습니다. $ routeParams가 작동하는 방법을 잘못 이해하고 있습니까? 당신의 URL은 라우터 구성으로

답변

1

URL입니다 당신이 일치하지 않는 액세스하려는에서 some_textemail 값을 얻을 수 있습니다, 아래에 있어야한다 주어진 경로 $routeparams 테이블에. app/#/unsubscribe/some_text을 탐색해야합니다. $routeparams 그 이메일 some_text

+0

감사합니다. 가까이에 있지만 끝에있는 퍼즐 조각에 넣으십시오! – Janbango

+0

당신은 나보다 단지 0.02 늦었고, 당신은 대답을 받아 들였습니다, 좋은 :) +1 –

0

, 브라우저에서 URL은 단지 당신이 $routeParams

myURL/app/#/unsubscribe/some_text 
0

$routeParams 경로에 포함 된 이름 파라미터에 의해 채워지는 것을 이해한다 (예를 들면, /unsubscribe/:email에서 :email 추출 될 파라미터이다).

그 외에 라우터는 URL의 경로 부분 (?… 제외)을 알려진 경로 목록에 일치 시키려고 시도합니다.이 경우에는 /unsubscribe/:email 만 포함됩니다.

전자 메일 매개 변수를 컨트롤러에서 사용할 수 있도록 $routeParams으로 지정하려면 브라우저의 방향을 으로 지정해야합니다.