2016-07-21 8 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がどのように動作することになっているのか誤解していますか?

答えて

1

アクセスしようとしているURLが一致しません。指定ルート:$routeparamsテーブル。 app/#/unsubscribe/some_textをナビゲートしようとする必要があります。 $routeparamsがその電子メールがsome_text

+0

ありがとう、私は近くにあったが、最後にジグソーパズルの間違った部分に入れて! – Janbango

+0

あなたは私よりちょうど0.02遅いです。 –

0

あなたのURLがルータに設定されているように、ブラウザでURLは以下である必要があり、その後、あなただけは$routeParams

から some_textとして email値を得ることができます
myURL/app/#/unsubscribe/some_text 
0

$routeParamsパスに埋め込まれた名前付きパラメータによって取り込まれている理解するであろう(例えば、/unsubscribe/:emailに、:emailが抽出されるパラメータです)。

これに加えて、ルータは、URLのパス部分(?…を除く)を既知のルートのリストに一致させようとします。この場合は、/unsubscribe/:emailのみが含まれます。

コントローラの電子メールパラメータを$routeParamsにするには、ブラウザの代わりにmyURL/app/#/unsubscribe/some_textを指定する必要があります。

関連する問題