是否可以通过哈希导航到某个页面,然后执行一些逻辑并重定向,而不渲染新的页面/模块,但刷新了我导航的那个?
其实我想要的是做一些逻辑并刷新同一页面而不显示闪屏。
例如,我有简单的HTML链接:
<a class="language-link" href="#language/en-US">
在language.js中,我有简单的代码,可以在&#34;激活&#34;功能:
define(['plugins/router', 'jquery'], function (router, $) {
return {
activate: function (culture) {
return $.post("api/language", { '': culture }, function () {
router.navigateBack();
}).then(function () { return false; });
},
viewUrl: 'settings/loading'
}; });
但我的问题是,在短时间内,来自viewUrl属性的loading.html正在显示。在那之后我又回到了上一页。
我想阻止loading.html页面呈现。怎么做?我正在浏览Durandal文档并在谷歌搜索,但找不到任何有用的信息。
.then(function(){return false;});
上面的代码是我尝试从激活函数返回false并阻止页面渲染,但不起作用:(
修改
我想阻止设置/加载渲染和REFRESH我导航的上一页。
答案 0 :(得分:0)
是的,你可以return false
使用canActivate
lifeCycle函数(Read more here)
define(['plugins/router', 'jquery'], function (router, $) {
return {
canActivate: function () {
// some logic..
// router.navigateBack();
return false;
}
}; });