AngularJS路由和搜索查询

时间:2017-02-13 19:36:07

标签: angularjs angular-ui-router url-parameters query-parameters

我正在使用Angular和UI路由器构建一个小型搜索引擎。我试图找出从主页(搜索提交)过渡到结果页面的最佳方式。

我的主页路由(UI路由器中的状态)

.state('home', {
        url: '/',

然后我这是我的搜索结果页面

.state('search', {
        url: '/search?q',

我希望用户在主页上提交的搜索字词位于搜索结果页面的网址中。如何使用UI路由器做到最好?似乎这里可能需要抽象状态来预加载主页(模板,控制器和URL),然后有另一个状态,如

.state('home', {
        url: '?q',

其中q用于查询参数...但它似乎不起作用。我的想法是在这里,还是我的代码中有一个我不明白的错误?

1 个答案:

答案 0 :(得分:0)

您可以通过$state.go API将查询参数传递给UI路由器,如下所示:

通过控制器

var params = { q: <user-input> }
$state.go( 'search', q )

通过指令

<a ui-sref="search({ q:<user-input> })">Search</a>

$州API文档 - link