NATIVESCRIPT - 核心 (JS) - 在 TabView 和 BLANK 页面之间切换
NATIVESCRIPT - Core (JS) - Switching between TabView and BLANK page
我正在开发一个基于 TabView 的应用程序。但是如果用户没有登录,我想在应用程序启动时显示一个登录屏幕,分别是注销后的登录屏幕。
登录屏幕不应位于 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"还是"login-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" });
}
如果我现在首先加载 LOGIN,我 运行 带有 application.run({ moduleName: "app-root" 的 TabView }); 再次。我想,这不是最好的方法。
如何加载和呈现 TabView?
我有一个 NS-PLAYGROUND 应用程序,希望您能帮到我。我非常感谢解决方案:
https://play.nativescript.org/?template=play-js&id=fk1uUx
非常感谢!!!
此致,托拜厄斯
您可以简单地调用 application._resetRootView(...)
将您的根视图替换为 TabView 或根据需要返回登录框架。
另一个选项是创建包含 TabView 的新页面并将该页面加载到登录框架中。
我正在开发一个基于 TabView 的应用程序。但是如果用户没有登录,我想在应用程序启动时显示一个登录屏幕,分别是注销后的登录屏幕。 登录屏幕不应位于 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"还是"login-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" });
}
如果我现在首先加载 LOGIN,我 运行 带有 application.run({ moduleName: "app-root" 的 TabView }); 再次。我想,这不是最好的方法。
如何加载和呈现 TabView?
我有一个 NS-PLAYGROUND 应用程序,希望您能帮到我。我非常感谢解决方案:
https://play.nativescript.org/?template=play-js&id=fk1uUx
非常感谢!!!
此致,托拜厄斯
您可以简单地调用 application._resetRootView(...)
将您的根视图替换为 TabView 或根据需要返回登录框架。
另一个选项是创建包含 TabView 的新页面并将该页面加载到登录框架中。