Многостраничное приложение с использованием CanJS
Я ищу способ перехода с одной HTML-страницы на другую HTML-страницу в CanJS. Ниже приведен сценарий:
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.
Одним из способов является заполнение атрибута href для ссылки в ejs, но это не очень хорошая практика, так как текущие элементы управления страницы теряют свое значение. Я ищу оптимизированное решение. Пожалуйста, исправьте меня, если я ошибаюсь
В Интернете я нашел в основном примеры одностраничных приложений для CanJS. Если кто-то может указать мне на демо / пример многостраничного приложения, это было бы здорово.
Заранее спасибо:)
1 ответ
Самый простой способ перехода с веб-страницы на веб-страницу с помощью 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'});