2017-08-30 68 views
0

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

回答

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,防止节约在应用程式记录导航。

+0

是你上面的打字稿文件是main-page.ts吗?如果是,那么它是否显示滑动动画? –

+0

确实上面的代码是从main-page.ts文件中获得的,并且转换按照预期的方式工作,而导航 –

+0

是的,它现在在我的工作中,并且不知道错误是什么,谢谢:) –