从url捕获参数 - angular

时间:2015-02-25 20:56:39

标签: django angularjs

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

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

2 个答案:

答案 0 :(得分:0)

我总是只使用vanilla javascript。此函数将接受参数名称并获取其值。例如:url = http://example.com&param1=abcd

GetURLParameter(param1)将返回&#34; abcd&#34;

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];
        }
    }
};

答案 1 :(得分:0)

通过在控制器中注入$ location依赖关系或者在你想要调用这行代码的任何地方使用$location.search(),这将为你提供查询字符串

对于特定参数

$location.search().parameterName

参数名称可以是查询字符串所需的任何内容。

为了解决这个问题,您可能需要在角配置阶段激活html5mode。

希望这可以帮助你,谢谢。