这就是我构建路线的方式
[{
route: 'Phone/:isWidget',
moduleId: 'commonLog',
title: 'phoneTitle',
nav: true,
hash: '#Phone',
settings: { Communication: true }
},
{
route: 'Letters/:isWidget',
moduleId: 'commonLog',
title: 'lettertitle',
nav: true,
hash: '#Letters',
settings: { Communication: true }
}]
我需要做的是强制激活方法在我们之间路由时触发。
为什么我需要它?
在activate方法中,我拉动activeInstruction并获取路径信息,并根据我改变我的observable并调用不同的api来获取正确的数据,并为我的表生成正确的列。
答案 0 :(得分:1)
在commonLog
模块中,您需要设置canReuseForRoute
属性,该属性是返回false
的函数。如果你的模块是单身:
return {
// ...
canReuseForRoute: function () {
return false;
},
// ...
}
如果你的模块是构造函数:
return function () {
// ...
this.canReuseForRoute = function () {
return false;
};
// ...
};
然后每次都会调用activate
方法。
文档链接:http://durandaljs.com/documentation/Using-The-Router.html - 请参阅"模块重用"。