【问题标题】:Capture parameters from url - angular从 url 捕获参数 - 角度
【发布时间】:2015-02-25 20:56:39
【问题描述】:

我正在使用 angular-django 堆栈编写应用程序。对于在 URL items/<item-id> 处显示特定项目详细信息的页面,我正在使用 django 加载模板并希望 angular 加载实际项目。

此页面没有任何其他状态,因此使用路由没有意义。但是为了使用角度加载数据,我需要知道来自 url 的 <item-id>。除了使用 $location 服务或类似的东西解析 url 之外,还有其他方法吗?

【问题讨论】:

  • 请给我们一些代码。

标签: django angularjs


【解决方案1】:

我总是只使用香草 javascript。这个函数将接受一个参数名称并获取它的值。例如:url=http://example.com&param1=abcd

GetURLParameter(param1) 将返回“abcd”

var GetURLParameter = function (sParam) {
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) {
            return sParameterName[1];
        }
    }
};

【讨论】:

    【解决方案2】:

    使用$location.search(),通过在你的控制器或你想调用这行代码的任何地方注入$location依赖,这会给你查询字符串

    具体参数

    $location.search().parameterName
    

    参数名称可以是查询字符串中您需要的任何名称。

    为了工作,您可能需要在角度配置阶段激活 html5mode。

    希望对您有所帮助,谢谢。

    【讨论】:

      猜你喜欢
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多