我的shell有按钮,只有当用户当前正在查看某个viewModel时才应显示这些按钮。如何确定视图当前是否从shell“处于活动状态”?
答案 0 :(得分:8)
假设路由是在shell.js
activate
中定义的,那么使用viewAttached
将允许访问router
对象。
return {
router: router,
viewAttached: function () {
console.log('activeRoute', router.activeRoute());
},
activate: function () {
router.map([...
根据评论 更新
在Durandal 2.x中activeRoute()
不再定义。请改用router.activeInstruction()
。
更新2
在Durandal 2.x viewAttached
现在是attached
。
注意:适用于需要访问当前路由配置的用户 为了获得自定义属性或其他信息,您可以 通过router.activeInstruction()访问原始数据 包含片段,queryString,params和queryParams。它也是 包含一个config属性,它与您的原始实例相同 route config。