【问题标题】:How to pass a GET variable into an angular app如何将 GET 变量传递到 Angular 应用程序
【发布时间】:2015-06-05 18:05:05
【问题描述】:

我有一个基于 node.js 和 ionic/angular 的 heroku 应用程序。网站网址看起来像

myapp.herokuapp.com

因为它是离子/角度的,并且在您输入 url 时依赖于状态和视图,它会将您带到主页

myapp.herokuapp.com/www/index.html#/login

这很好。

问题是我想为第 3 方创建个性化的引荐链接,以将人们发送到我的应用。理论上应该是这样的

myapp.herokuapp.com?ref=12345

'ref' 参数对我很有用,我想在我的第一个控制器加载时提取它并将其绑定到服务中的变量。但是,由于状态和视图,url 最终是

myapp.herokuapp.com/www/index.html?ref=12345#/login

当我在“登录”页面到达我的第一个控制器时。

该网站仍然像这样工作,但我不禁觉得我做错了。当我的第一个控制器加载时,必须有一种角度方式从 url 中提取 GET 参数,而无需进行一些疯狂的字符串分析和连接。

【问题讨论】:

  • 如果你想传递 GET 参数,那么你必须在查询字符串中包含它,否则它不是 GET 参数。
  • @dfsq 我不确定我是否理解您的评论。它在一个查询字符串中,但是 Angular 的状态逻辑将它注入到我的 url 中一个奇怪的地方。
  • 这并不奇怪,这是查询字符串的正常位置。位置哈希始终是最后一个。
  • 那么连接是我检索“ref”值的唯一选择吗?

标签: angularjs get ionic-framework


【解决方案1】:

如果你使用 routeProvider,你可以这样做:

    $routeProvider
    .when('/Index', { templateUrl: baseUrl + "/Index" })
    .when('/Index/:parameter1/:parameter2/', {
        templateUrl: function (params) {
            return baseUrl + "/Index/GetSomething?idparameter1=" + params.parameter1+ "&idparameter2=" + params.parameter2;
        }
    })

希望对你有帮助。

【讨论】:

  • 我在我的 '.config' 中使用 $urlRouterProvider 我会在那里尝试。
猜你喜欢
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 2020-05-01
  • 2013-05-18
  • 2016-02-12
  • 1970-01-01
相关资源
最近更新 更多