Polymer - 带有 app-header 的动态页面标题
Polymer - Dynamic page title with app-header
我正在使用 Polymer App Toolbox 中的 app-drawer-layout,而不是 <div main-title>My App</div>
中的固定标题,我想让它与 iron-pages
一起动态工作-导航。
理想情况下,我想在 iron-pages
中加载的每个元素中指定标题,但在导航中定义它也是一种解决方案。但是,我有点卡住了,因为我所做的 none 尝试似乎奏效了。
我的代码如下所示:
<app-header condenses fixed effects="waterfall">
<app-toolbar>
<paper-icon-button icon="mdi:menu" drawer-toggle></paper-icon-button>
<div main-title>My App</div>
</app-toolbar>
</app-header>
<iron-pages role="main" selected="[[page]]" attr-for-selected="name">
<moso-profile name="profile"></moso-profile>
<moso-resume name="resume"></moso-resume>
<moso-portfolio name="portfolio"></moso-portfolio>
<moso-contact name="contact"></moso-contact>
</iron-pages>
现在,我尝试使用 <content select=".page-title"></content>
(Polymer Docs),然后在每个加载的元素中都有一个 <div class="page-title">New title</div>
。没用。
我还尝试为 iron-pages
中的每个元素添加一个 title
属性(例如:<moso-profile title="Profile" name="profile"></moso-profile>
),然后尝试 one/two 将其绑定[[page.title]]
,也不走运。
我是不是做错了什么?还是不可能了?
为什么不是这样的?
<app-header condenses fixed effects="waterfall">
<app-toolbar>
<paper-icon-button icon="mdi:menu" drawer-toggle></paper-icon-button>
<div main-title>{{page}}</div>
</app-toolbar>
</app-header>
<iron-pages role="main" selected="[[page]]" attr-for-selected="name">
<moso-profile name="profile"></moso-profile>
<moso-resume name="resume"></moso-resume>
<moso-portfolio name="portfolio"></moso-portfolio>
<moso-contact name="contact"></moso-contact>
</iron-pages>
或者如果您想进一步控制标题,您可以使用计算函数:
<app-header condenses fixed effects="waterfall">
<app-toolbar>
<paper-icon-button icon="mdi:menu" drawer-toggle></paper-icon-button>
<div main-title>{{_computeTitle(page)}}</div>
</app-toolbar>
</app-header>
在javascript中:
_computeTitle: function(page) {
if (page == 'profile') {
return 'My Profile';
}
...
}
我正在使用 Polymer App Toolbox 中的 app-drawer-layout,而不是 <div main-title>My App</div>
中的固定标题,我想让它与 iron-pages
一起动态工作-导航。
理想情况下,我想在 iron-pages
中加载的每个元素中指定标题,但在导航中定义它也是一种解决方案。但是,我有点卡住了,因为我所做的 none 尝试似乎奏效了。
我的代码如下所示:
<app-header condenses fixed effects="waterfall">
<app-toolbar>
<paper-icon-button icon="mdi:menu" drawer-toggle></paper-icon-button>
<div main-title>My App</div>
</app-toolbar>
</app-header>
<iron-pages role="main" selected="[[page]]" attr-for-selected="name">
<moso-profile name="profile"></moso-profile>
<moso-resume name="resume"></moso-resume>
<moso-portfolio name="portfolio"></moso-portfolio>
<moso-contact name="contact"></moso-contact>
</iron-pages>
现在,我尝试使用 <content select=".page-title"></content>
(Polymer Docs),然后在每个加载的元素中都有一个 <div class="page-title">New title</div>
。没用。
我还尝试为 iron-pages
中的每个元素添加一个 title
属性(例如:<moso-profile title="Profile" name="profile"></moso-profile>
),然后尝试 one/two 将其绑定[[page.title]]
,也不走运。
我是不是做错了什么?还是不可能了?
为什么不是这样的?
<app-header condenses fixed effects="waterfall">
<app-toolbar>
<paper-icon-button icon="mdi:menu" drawer-toggle></paper-icon-button>
<div main-title>{{page}}</div>
</app-toolbar>
</app-header>
<iron-pages role="main" selected="[[page]]" attr-for-selected="name">
<moso-profile name="profile"></moso-profile>
<moso-resume name="resume"></moso-resume>
<moso-portfolio name="portfolio"></moso-portfolio>
<moso-contact name="contact"></moso-contact>
</iron-pages>
或者如果您想进一步控制标题,您可以使用计算函数:
<app-header condenses fixed effects="waterfall">
<app-toolbar>
<paper-icon-button icon="mdi:menu" drawer-toggle></paper-icon-button>
<div main-title>{{_computeTitle(page)}}</div>
</app-toolbar>
</app-header>
在javascript中:
_computeTitle: function(page) {
if (page == 'profile') {
return 'My Profile';
}
...
}