当前位置: 首页 > 知识库问答 >
问题:

Vaadin Flow:设置标题

颛孙森
2023-03-14

我目前正在尝试设置页面的标题

public class A extends FlexLayout implements RouterLayout {}

@Route(value = "b", layout = A.class)
public class B extends FlexLayout{}
@Route(value = "c", layout = A.class)
public class C extends FlexLayout{}

>

  • 要做到这一点,我试图调用UI. get当前(). getPage(). setTitle(演示标题)期间在导航。不幸的是,这对初始导航不起作用(添加attachListener也不起作用)。

    我还尝试使用最外层的RouterLayout上的PageConfigurator对其进行如下配置:

        @Override
        public void configurePage(InitialPageSettings settings) {
            settings.addMetaTag("title", "demo title");
            settings.addMetaTag("og:title", "demo title");
    
            settings.addFavIcon("icon", "frontend/images/favicon.ico", "48x48");
        }
    

    由于某些原因,路由器本身在导航期间设置标题。

    路由器使用JS定义标题并重新定义文档。标题页。setTitle似乎只修改html。头标题标记。

    如何在一个位置设置标题
    如何防止路由器将标题设置为当前URL的值?

    使用@PageTitle注释不是一个选项,因为在我的例子中,标题在编译时是未知的。


  • 共有1个答案

    龙志勇
    2023-03-14

    如果您有一个不变的页面标题,您可以使用注释@PageTitle设置它。

    @PageTitle("home")
    class HomeView extends Div {
    
      HomeView(){
        setText("This is the home view");
      }
    }
    

    官方的Vaadin Flow文档建议使用HasDynamicTitle

    例子:

    @Route(value = "blog")
    class BlogPost extends implements HasDynamicTitle, HasUrlParameter<Long> {
      private String title = "";
    
      @Override
      public String getPageTitle() {
        return title;
      }
    
      @Override
      public void setParameter(BeforeEvent event,
            @OptionalParameter Long parameter) {
        if (parameter != null) {
          title = "Blog Post #" + parameter;
        } else {
          title = "Blog Home";
        }
      }
    }
    

    来源

     类似资料:
    • Since 8.0 setTitle 设置页面的标题栏,包括主标题,副标题以及标题菜单项 注意:由于苹果的ATS限制,image URL必须为https链接或base64,http链接会被忽略 使用方法 AlipayJSBridge.call('setTitle', { title: '标题', }); 代码演示 设置各种类型的标题栏 <h1>点击以下按钮看不同效果</h1> <a href

    • 标准设置 建立经由基地台与网络联机的网络设定,并保存至PSP™主机。最多可保存10组设定。 网络的设定方法会因您使用之环境而异。以下仅说明标准的设定范例。 1. 确认无线基地台的设定是否已经完成。 确认在PSP™主机的附近,是否设置了已与网络联机的无线基地台。无线基地台的设定通常需使用计算机进行。详情请询问设置无线基地台的人员。 2. 进入(设定)后,选择(网络设定)。 3. 选择[Infrast

    • 编辑标题画面 THE NVL Maker标题画面相关的脚本内容在title.ks里, 可以根据需要自行添加多个LOGO,插入开头视频,标题前的序言等等。 当然对熟悉吉里吉里/KAG的使用者,也可以完全使用自己制作的启动画面脚本来代替title.ks。 不过,除了这些特殊需求以外,大部分功能都可以直接使用标题编辑界面来完成。 标题编辑界面提供以下功能: 修改制作组LOGO(小组标志) 标题背景图片

    • 我使用HttpClient发出请求,在每个请求上我都设置了头,但当我看到chrome网络选项卡时,这些头并没有设置。 密码 网络选项卡图像

    • 问题内容: 我试图永久设置DatePickerDialog标题时遇到问题。 DatePickerFragment.java MainActivity.java 当我单击按钮DatePickerDialog时,对话框标题为“设置日期”,但是当我更改日期时,标题包含选定的日期,而不是“设置日期”。如何永久设置此对话框标题? 经过API 8-10测试。 在此先感谢您,对不起我的英语。帕特里克 问题答案: