首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合物<app-route>元素中的查询-仿射

聚合物<app-route>元素中的查询-仿射
EN

Stack Overflow用户
提问于 2016-10-07 18:16:41
回答 2查看 6.5K关注 0票数 7

我正在应用程序中使用<app-route>元素。我想在网址中捕获queryParams

例如:

本地主机:8080/#/test?foo=bar&baz=qux

我所写的代码:

代码语言:javascript
复制
<app-location id="location" route="{{route}}" use-hash-as-path></app-location>
<app-route id="route"
        route="{{route}}"
        pattern="/:page"
        data="{{routeData}}"
        tail="{{subroute}}"></app-route>

当我使用上面的URL时,我会得到

代码语言:javascript
复制
this.$.route.routeData.page = "test?foo=bar&baz=qux"
this.$.route.queryParams = {}

我还以为

代码语言:javascript
复制
this.$.route.routeData.page = "test"

代码语言:javascript
复制
this.$.route.queryParams = {
   foo : "bar",
   baz : "qux"
}

我看了聚合物文档中的例子,但没有帮助。我遗漏了什么?

我在等什么不对劲吗?queryParams应该如何工作?

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-08 06:49:31

你得到答案的原因是网址是错的。#部分在结尾。

试试url

localhost:8080/?foo=bar&baz=qux#/test

线索在页面参数中,其中显示查询参数已经添加到页面参数中。它们没有,但浏览器只是认为它们是散列的一部分,并将它们传递到window.location.hash中。散列部分的app-location解析在'/‘上拆分,因此认为整个事情是:页面模式的一部分。

票数 5
EN

Stack Overflow用户

发布于 2016-10-07 21:08:29

绑定到.queryParams以获取查询参数:

代码语言:javascript
复制
<app-location route="{{route}}" query-params="{{queryParams}}">

还请注意,<app-location>.route有一个内部属性,它包含查询参数:__queryParams。从技术上讲,您可以在下一个版本中使用它,但要注意它可能是不可用的。(即this.route.__queryParams === this.queryParams)。

码页

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39923543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档