Nativescript导航到同一页面

时间:2017-08-30 10:19:14

标签: javascript nativescript

如何从当前页面导航到同一页面以获取滑动动画,目前如果我使用框架模块导航到同一页面,则它不会显示任何动画,只是更新当前页面的内容。

1 个答案:

答案 0 :(得分:2)

我测试了你的场景,并且应该按照预期执行页面转换,同时导航到当前页面的方式与为不同的页面制作时相同。 我正在附加示例代码。 XML

<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo" class="page">

    <Page.actionBar>
        <ActionBar title="My App" icon="" class="action-bar">
        </ActionBar>
    </Page.actionBar>

    <StackLayout class="p-20">
        <Label text="Tap the button" class="h1 text-center"/>
        <Button text="TAP" tap="{{ onTap }}" class="btn btn-primary btn-active"/>
        <Label text="{{ message }}" class="h2 text-center" textWrap="true"/>
        <Button text="Navigate" tap="onTap2" class="btn btn-primary btn-active"/>
    </StackLayout>
</Page>

打字稿

import { EventData } from 'data/observable';
import { Page } from 'ui/page';
import { HelloWorldModel } from './main-view-model';
import {topmost} from "ui/frame"

export function navigatingTo(args: EventData) {

    let page = <Page>args.object;


    page.bindingContext = new HelloWorldModel();
}

export function onTap2(args){
    var navigationEntry = {
        moduleName: "main-page",
        animated: true,
        clearHistory:true,
        transition: {
            name: "slide",
            duration: 380,
            curve: "easeIn"
        }
    };
    topmost().navigate(navigationEntry);
}

在项目中,我还使用clearHistory,这会阻止在应用历史记录中保存导航。