Angular JS routing:获取URL作为用户输入

时间:2015-07-21 13:23:30

标签: javascript angularjs

我正在制作一个允许用户创建民意调查的应用,然后将该民意调查链接到其他用户,以便他们投票。

为了让用户提供直接链接,我需要两个路由参数:进行投票的用户的ID和投票问题。

所以我想让用户访问website.com/:id/:question,然后使用这些参数进行相应的API调用以获取信息。

但是,无论放入什么内容,页面都会重定向到website.com。

我想改变这个的任何想法?

编辑://

$ routeParams似乎是正确的想法!

但是,我无法正常工作。

我这样设置:

angular.module('voteApp')
.config(function($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl : 'index.html',
        controller : 'MainCtrl'
      })

      .when ('/:id/:poll', {
        templateUrl : 'index.html',
        controller : 'MainCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  });

然后客户端控制台继续打印'尝试多次加载角度' 当我将index.html切换到'app / main / main.jade'时,它只打印该文件的内容。

我很确定index.html的路径是正确的,因为main.jade的路径是正确的,我的路径是基于index.html相对于那个

1 个答案:

答案 0 :(得分:0)

如果您使用的是NgRoute,则应使用$routeParams服务:https://docs.angularjs.org/api/ngRoute/service/ $ routeParams

如果您使用的是ui-Router,则可以使用$stateParams服务:https://github.com/angular-ui/ui-router/wiki/Quick-Reference#stateparams-1

您还需要定义路径/状态以对应路径/:id/:question