2016-10-05 30 views
1

我正在创建我的第一个NativeScript Angular应用程序,它由一个需要跨越多个屏幕的表单组成。 我尝试创意并使用TheOriginalJosh/nativescript-slides将表单页面添加到幻灯片中。这实际上是美妙的,因为我能够顺利地滑动到每个表单页面。什么是在NativeScript Angular创建多页表单的最佳方式

但是最初导航到表单组件时开始出现问题,因为它开始需要几秒钟才能加载。我假设发生这种情况是因为表单跨越了每页10页的多个GridLayouts。我想过使用TabView,但我不需要它的菜单部分,我担心它会导致加载速度相同的问题。

那么实现这个最好的方法是什么? 我应该只创建10多个表单组件,使用通用服务并将每个表单部分路由到另一个表单部分,还是有更好的方法将其“封装”到一个组件中,而不会有任何性能损失?

我也对这个NativeScript文档中看到了..

It is possible to nest <router-outlet> component inside <page-router-outlet> or another <router-outlet>

但没有就如何落实这一任何文件。

回答

3

在ns中有很多方法可以使用嵌套的router-outlet,而在一个非常大的项目中,最好使用共享模块架构,它使模块嵌套在另一个模块中,因此视图也可以嵌套。

这是我与嵌套使用共享的模块架构nativescript样品:在轮廓

嵌套在app.component。

在父视图: https://github.com/Arthurisme/auth0-iosmorphic/blob/master/Mobile/Nativescript-for-Spring-Auth0/app/app.component.ts

在childview: https://github.com/Arthurisme/auth0-iosmorphic/blob/master/Mobile/Nativescript-for-Spring-Auth0/app/profile/profile.component.html

+0

感谢您的答复。我认为,直到有人建议一个更好的选择,嵌套路由最好,但我似乎无法得到它的工作..当我嵌套路线时,我得到一个错误。 {{path:“form”,component:FormComponent, children:[ {path:“outcome”,component:OutcomeComponent,outlet:“addhand”}, {path:“endon”,component:EndonComponent,outlet :“addhand”} ] }' 这给了我一个错误...在承诺错误:无法匹配任何路线:'窗体' – ZeroNine

+0

没关系。我得到了它的工作。我不得不删除'outlet:“addhand”'并且它可以工作。我会一直这样去学习,直到我学习其他方式。再次感谢! – ZeroNine

相关问题