首页 文章

Nativescript导航到同一页面

提问于
浏览
0

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

1 回答

  • 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 ,这会阻止在应用历史记录中保存导航 .

相关问题