【问题标题】:AngularJS routes and search queryAngularJS 路由和搜索查询
【发布时间】:2017-02-13 19:36:06
【问题描述】:

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

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

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

然后是我的搜索结果页面

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

我想让用户在主页上提交的搜索词出现在搜索结果页面的 url 中。我怎样才能最好地使用 UI Router 做到这一点?似乎这里可能需要抽象状态来预加载主页(模板、控制器和 url),然后具有另一个状态,例如

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

其中 q 用于查询参数......但它似乎并不完全有效。是我的想法偏离了这里,还是我的代码中有一个我看不到的错误?

【问题讨论】:

  • $state.go('search', { q: theValueBeingSubmitted })?

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


【解决方案1】:

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

通过控制器

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

通过指令

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

$state API 文档 - link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 2015-04-02
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    相关资源
    最近更新 更多