Oracle JET:想要创建一个登录页面,其中点击登录按钮应该路由我到主页
您好我正在使用示例应用程序与导航列表,但我想创建一个登录页面在其上一次我点击登录按钮,认证后我必须将应用程序路由到主页面。 我尝试了下面的代码,但没有发生任何事情。 oj.Router.rootInstance.go('login');Oracle JET:想要创建一个登录页面,其中点击登录按钮应该路由我到主页
请大家帮忙。
应用:甲骨文JET分布
代码:
功能(OJ,KO,APP){//当所有需要的模块被加载
$(function() {
function init() {
oj.Router.sync().then(
function() {
// Bind your ViewModel for the content of the whole page body.
ko.applyBindings(app, document.getElementById('globalBody'));
// navigate the user to login or wherever you want them to be now
oj.Router.rootInstance.go('login');
},
function (error) {
oj.Logger.error('Error in root start: ' + error.message);
}
);
}
你想要将路由器go()
命令移出main.js并将其移入支持登录页面的viewModel,并且只有在用户通过输入正确的用户名/密码通过身份验证测试时才会运行。
如果登录你想让他们看到,改变router.configure和NAV数据设置在appController.js
使默认页面默认页面:
self.router.configure({
'login': {label: 'Login', isDefault: true},
...
看一看在FixItFast sample code的示例一个登录页面和支持它的结构。 FixItFast是一个比标准Starter模板更加深入的示例,因为它假定了移动优先,但signin.html视图和signin.js viewModel可能会给你提供很好的想法。
感谢您的及时回复。其中一个挑战是维护单页面应用程序。我已经在仪表板页面(主页)上,看起来像我需要根据登录验证来控制导航ojcomponents的* visible *属性。 – Smashinsameer
首先您将您的登录页面设为默认页面。 然后(在你的login.html)点击按钮,你可以调用一个函数(在login.js中的函数)来验证你的用户名和密码。
self.signIn = function()
{
//your validation
if (login==success)
{
oj.Router.rootInstance.go('dashboard');
}
else
{
alert("check your details");
}
};
请确保您有在路由器的配置添加您的仪表板页面
self.router.configure({
'dashboard': {label: 'Dashboard'},
'login': {label: '',isDefault: true}
});
由于JET是JS工具你就更有可能得到在Oracle TechNet论坛答案的Oracle专用包致力于JET。 [在此查找](https://community.oracle.com/community/development_tools/oracle-jet) – APC
请阅读[我如何问一个好问题?](http://*.com/help/how-询问),然后尝试提出更多问题。 –
请阅读[为什么“有人可以帮助我?”不是一个实际的问题?](https://meta.*.com/questions/284236/why-is-can-someone-help-me-not-an-实际问题),然后再试图提出更多问题。 –