gpt4 book ai didi

angular2-nativescript - 如何在 NativeScript 中使用页面转换

转载 作者:行者123 更新时间:2023-12-03 19:45:06 25 4
gpt4 key购买 nike

我正在尝试使用 routerExtensions 的页面转换没有成功。 (2.3.0)

我在js中试过:

this.routerExtensions.navigate(
[
'myPage'
],
{
animated: true,
transition:
{
name: 'flip',
duration: 2000,
curve: 'linear'
}
}
);

我在xml中尝试过:
<Button text="Goto myPage" [nsRouterLink]="['/myPage']" pageTransition="flip"></Button>

当我导航到“myPage”但没有动画时,这两种方式都有效。
是否需要更改设置以“启用”动画,或者我是否遗漏了一些明显的东西?

最佳答案

根据所提供的上下文,很难准确地说出它为什么不起作用。

您真正需要做的就是:

设置您要路由到的组件:
app-routing.module.ts

const routes: Routes = [
{ path: '', pathMatch: 'full', redirectTo: '/home' },
{ path: 'home', component: HomeComponent },
{ path: 'about', component: AboutComponent },
{ path: 'contact', component: ContactComponent },
];

使用您的 router-outlet 在组件中注入(inject) native 路由器扩展
app.component.ts
import { RouterExtensions } from "@nativescript/angular/router";

@Component({
selector: "ns-app",
templateUrl: "./app.component.html"
})
export class AppComponent {
constructor(private routerExtensions: RouterExtensions) {}

public navigate(link: string): void {
this.routerExtensions.navigate([link], {
animated: true,
transition: { name: 'slide' }
});
}
}

当然也有办法调用这个方法 app.component.ts
<StackLayout>
<FlexboxLayout>
<Button text="Home" (tap)="navigate('home')"></Button>
<Button text="About" (tap)="navigate('about')"></Button>
<Button text="Contact" (tap)="navigate('contact')"></Button>
</FlexboxLayout>
<StackLayout>
<page-router-outlet actionBarVisibility="never"></page-router-outlet>
</StackLayout>
</StackLayout>

我已经设置了一个工作仓库来演示这个 https://github.com/gsavchenko/nativescript-page-transitions .这些也可以在不使用 nativescript 本地路由 API 的角度实现。

干杯,
如果还有其他问题,请告诉我。

关于angular2-nativescript - 如何在 NativeScript 中使用页面转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40247092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com