首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs $routeParams问题

Angularjs $routeParams问题
EN

Stack Overflow用户
提问于 2016-07-21 22:49:27
回答 3查看 87关注 0票数 0

我正在努力让$routeParams正常工作。我想做的是用一个电子邮件地址填充一个取消订阅字段,该地址包含在一个链接到一个网址。我正在使用AngularJS,在围绕主题阅读之后,似乎可以使用$routeParam,但我无法使其正常工作

我的HTML:

代码语言:javascript
复制
        <form class="form-signin" name="regForm">
                 <input type="email" id="email" name="email" class="form-control" ng-model="user.email">
       </form>

我的带有$routeProvider的.config

代码语言:javascript
复制
    .config(['$routeProvider',  function ($routeProvider) {
$routeProvider
     .when('/unsubscribe/:email', {
         templateUrl: 'unsubscribe/unsubscribe.html',
         controller: 'unsubscribeCtrl'
     })
 }]);

我的带有$routeParams的.controller

代码语言:javascript
复制
.controller('unsubscribeCtrl', ['$scope', '$location', '$routeParams', function ($scope, $location, $routeParams) {

   var param1 = $routeParams.email

   console.log(param1)
 }]);

现在,当我导航到myURL/app/#/unsubscribe?email=some_text时,浏览器仍然是空白的,并且在控制台中没有任何错误。我是不是误解了$routeParams的工作原理?

EN

回答 3

Stack Overflow用户

发布于 2016-07-21 22:52:25

您尝试访问的url与$routeparams表中的给定路由不匹配。您应该尝试浏览app/#/unsubscribe/some_text$routeparams将理解电子邮件是some_text

票数 0
EN

Stack Overflow用户

发布于 2016-07-21 22:52:25

由于您的网址是在路由器中配置的,所以浏览器中的网址应该在下面,然后只有您才能从$routeParams中以some_text格式获取email

代码语言:javascript
复制
myURL/app/#/unsubscribe/some_text
票数 0
EN

Stack Overflow用户

发布于 2016-07-21 22:56:19

$routeParams由路径中嵌入的命名参数填充(例如,在/unsubscribe/:email中,:email是将被提取的参数)。

最重要的是,路由器尝试将url的路径部分(没有?…)与已知路由列表(在本例中仅包括/unsubscribe/:email )进行匹配。

因此,要使$routeParams中的控制器可以使用电子邮件参数,您应该将浏览器指向myURL/app/#/unsubscribe/some_text

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38507472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档