我正在寻找一种方法来从一个html页面导航到CanJS中的另一个html页面。以下是场景:
index.html包含一个登录表单(使用ejs构建),其中包含忘记密码链接。
的index.html
<div id="container"></div>
control.js
var loginForm=can.Control({
init:function(element,options)
{
var frag=can.view('login.ejs',this.options);
this.element.html(frag);
},
'#forgotPasswordLink click':function(el,ev)
{
//Wants to pass the control to forgotpassword.html.
//Also wants to pass the flow to forgotpassword controller with some data
}
})
new loginForm('#container',{data:data})
我的要求是当我点击忘记密码链接时,当前页面应该导航到forgotpassword.html。
一种方法是填充ejs中链接的href属性,但这不是一个好习惯,因为当前页面控件将失去其重要性。我正在寻找一个优化的解决方案。如果我错了,请纠正我
在网络上,我发现了CanJS的大多数单页应用程序示例。如果有人能指出我的多页应用程序演示/示例,那就太棒了。
提前致谢:)
答案 0 :(得分:0)
通过JavaScript从网页导航到网页的最简单方法是使用Window.location属性:
var App = can.Control.extend({
defaults : {
view : 'login.ejs',
data : null
}
}, {
init : function(el, op) {
el.html(can.view(op.view, {data : op.data}));
},
'#forgotPasswordLink click' : function(el, ev) {
ev.preventDefault();
window.location = 'forgotpassword.html';
}
});
var app = new App('#container', {data : 'hello'});