如何在范围对象的视图中生成查询字符串?

时间:2014-05-26 16:48:22

标签: angularjs

在我看来,我有一个范围对象,其中包含我查询的参数。 在我视图中的链接中使用它生成href属性的最简单方法是什么?

$scope.search_params // => { q: "test", order: "asc", filter: "price" }

// in my view I want to generate a link like this.
<a href="/search?q=test&order=asc&filter=price">...</a>

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用ng-href指令:

<a ng-href="/search?q={{ search_params.q }}&order={{ search_params.order }}&filter={{ search_params.filter }}">...</a>

如果要自定义URL(例如缺少参数时),则应在控制器中创建自定义函数并在视图中引用它。

这样的事情:

$scope.myHref = function () {
    var res = '?';
    if (search_param.q) {
        res = res + 'q=' + search_param.q;
    }
    ...
}

<a ng-href="/search{{ myHref() }}">...</a>

我认为第一个解决方案更清晰,你应该检查给定的URL后检查它是否为空。

来自docs的更多信息。