我正在开发一个基于TabViews的应用程序。但是,如果用户没有登录,我想在应用程序启动时显示一个登录屏幕,分别显示注销后的登录屏幕。登录屏幕不应该在TabView的框架中。
TabView设置在app-root.xml中。
<TabView loaded="onLoadedTabView" id="tabView" androidTabsPosition="bottom">
<TabViewItem title="Home">
<Frame defaultPage="home/home-page"></Frame>
</TabViewItem>
<TabViewItem title="Second">
<Frame defaultPage="second/second-page"></Frame>
</TabViewItem>
<TabViewItem title="Third">
<Frame defaultPage="third/third-page"></Frame>
</TabViewItem>
</TabView>我有一个login-root.xml来加载登录页面
<Frame defaultPage="login/login-page"></Frame>在app.js中,我想决定是先启动"app-root“还是”登录-root“。
const appSettings = require("application-settings");
let application = require("tns-core-modules/application");
if (typeof appSettings.getString('username') === 'undefined') {
application.run({ moduleName: "login-root" });
} else {
application.run({ moduleName: "app-root" });
}如果现在先加载登录,则再次使用application.run({ moduleName:"app-root“});运行TabView。我觉得这不是最好的方法。
如何加载和呈现TabView?
我有一个NS-PLAYGROUND应用程序,希望你能帮我。我真的很感激一个解决办法:
https://play.nativescript.org/?template=play-js&id=fk1uUx
非常感谢!
向你问好,托拜厄斯
发布于 2019-03-18 22:08:06
您可以只需调用application._resetRootView(...)来将根视图替换为TabView,或者根据需要返回到登录框架。
另一个选项是创建包含TabView的新页面,并将页面加载到登录框架中。
https://stackoverflow.com/questions/55229546
复制相似问题