1

我正在尝试在最近的扩展库中使用移动控件。我已经设置了基本结构,它似乎正在工作。但是,当我导航到一个页面时,我没有得到一个将页面名称应用到末尾的 #。当我点击后退按钮时,我确实应用了“#home”。

如果从浏览器发出完全刷新或有人想要进行深度链接,如何让 # 应用于单个页面,以便它们会保持不变?

谢谢!

<xe:singlePageApp id="singlePageApp1"
    selectedPageName="home">
    <xe:appPage id="home" pageName="home">
        <xe:djxmHeading id="djxmHeading0"
            label="My Home Page">
        </xe:djxmHeading>
        <xe:djxmLineItem id="djxmLineItem3" label="Sell Items"
            moveTo="mobilePage1">

        </xe:djxmLineItem>
        <xe:djxmLineItem id="djxmLineItem4" label="Sold Items"
                moveTo="mobilePage2">
            </xe:djxmLineItem>
    </xe:appPage>
    <xe:appPage id="appPage1" pageName="mobilePage1"
        autoCreate="true">
        <xe:djxmHeading id="djxmHeading1" label="Sell an Item"
            moveTo="home" back="Back">
        </xe:djxmHeading>
        <xc:cc_SellItem></xc:cc_SellItem>
    </xe:appPage>
    <xe:appPage id="appPage2" pageName="mobilePage2">
        <xe:djxmHeading id="djxmHeading2" moveTo="home" back="Back"
            label="Sold Items">
        </xe:djxmHeading>

        <xp:panel>List of Sold Items will go here.</xp:panel></xe:appPage>
    </xe:singlePageApp>
4

2 回答 2

1

您只需在 moveTo 属性中的页面名称中添加哈希 (#) 前缀:

<xe:djxmLineItem id="djxmLineItem3" label="Sell Items" moveTo="#mobilePage1"></xe:djxmLineItem>
<xe:djxmLineItem id="djxmLineItem4" label="Sold Items" moveTo="#mobilePage2"></xe:djxmLineItem>

查看XPages Mobile Controls Tutorial 中的“The moveTo property”

于 2012-02-20T18:38:39.560 回答
1

扩展库还包括一个动态内容组件。该组件有一个 useHash 属性,它引用 URL 中的 #。这应该允许您根据哈希值指定加载应用程序的哪个部分。

于 2012-02-20T18:41:16.480 回答