【发布时间】:2015-08-28 12:21:37
【问题描述】:
更新 1:发现 this issue with pull request 似乎正在解决 Polymer 中的这个问题。
更新 2:决定基于 Polymer Starter Kit 重构我的布局,它使用 page.js 而不是 app-router,并且似乎运行良好,尽管他们不使用 paper-item在纸质菜单中,而是使用自定义锚元素。
搜索所有文档,但我找不到这个(尽管 another issue on stackoverflow 的标题几乎相同,但不是同一件事)
TLDR:我需要整个文件项都可以点击链接。不仅仅是文字本身。为清楚起见,请参见下图,这里是live code。
.
我有类似下面的代码。我将链接标签与应用路由器路由结合使用,效果很好。唯一的问题是:我希望整个纸质菜单项都可以使用链接标签进行点击。
当我使用下面的代码时,直接单击链接 tekst 本身时会检索到正确的页面,但这不会创建“选定”状态。当我点击按钮(就在文本之外)时,按钮被选中,但页面没有被检索到,因为我没有点击链接......
一定有一种简单的方法可以做到这一点,对吧?我的意思是,我可以通过覆盖所有 CSS 来强制执行此操作,但在我看来,纸质菜单中的纸质项目中的链接将是一件非常常见的事情,应该自动执行此操作或使用属性或某些东西?
<paper-menu class="list">
<paper-item icon="home" label="Home" ><a is="pushstate-anchor" href="/">Home</a></paper-item>
<paper-item icon="polymer" label="Demo"><a is="pushstate-anchor" href="/demo">Demo</a></paper-item>
</paper-menu>
我检查了有关纸质项目、纸质菜单和其他文件的文档,但这些文档从不使用带有链接的示例。
【问题讨论】:
-
您好,我认为如果您创建一个我们可以玩的在线示例会很有帮助。
-
为什么不直接将
<paper-item>元素包装在<a>标签中,而不是反过来? -
@idleherb 好主意 ;) 我已将网址添加到说明中。
-
@VartanSimonian 看起来很丑。该项目是包装器,链接应该是可选的。
-
@AlbertSkibinski,按照@vartan-simonian 的建议做,并将其包装在
<a>标签中。这甚至是文档中建议的方法:elements.polymer-project.org/elements/paper-item 要将纸张项目用作链接,请将其包装在锚标记中。由于 paper-item 已经获得焦点,您可能希望通过将其 tabindex 设置为 -1 来防止锚标记获得焦点。
标签: polymer polymer-1.0