我正在开发一个内置在framework7中的应用程序。我有一个模板,可以从路由内的ajax调用接收信息。我已经测试了下面的代码,可以很好地工作。它从我的服务器获取信息并返回所需的数据。然后将我带到picks.html文件。问题是我有一个菜单,该菜单具有/ picks /的链接。如果有人在“选择”页面上并再次单击“选择”链接,则路由功能将从服务器中拉出,但不会更新模板,而保留旧数据。我正在寻找一种在每次调用模板时刷新模板的方法。
routes = [
{
path: '/picks/',
async: function (routeTo, routeFrom, resolve, reject) {
// App instance
var app = this.app;
// Show Preloader
app.preloader.show();
// Simulate Ajax Request
setTimeout(function () {
app.request.post( app.data.api.picks, {token:localStorage.getItem("token")},
function (data){
if(data.result==1){
if(drivers.length>0){
resolve(
{ componentUrl: './pages/picks.html' },
{
context: {
picks: JSON.parse(data.picks),
time: new Date().getTime()
}
}
);
}else{ resolve( { url: './pages/crash.html' } ); }
}else if(data.result==2){
app.dialog.create({
title: 'Invalid Login Details',
text: 'Sorry but you will need to login again before making your picks.',
buttons: [
{
text: 'Login',
onClick: function(){
localStorage.removeItem('token');
app.dialog.close();
app.loginScreen.open('#login-screen');
}
}
],
verticalButtons: true,
}).open();
}else if(data.result==4){ resolve( { url: './pages/season-over.html' } ); }
else{ resolve( { url: './pages/crash.html' } ); }
},
function (data) { resolve( { url: './pages/crash.html' } ); },
'json'
);
app.preloader.hide();
}, 1000);
},
},
];