Durandal:确定视图当前是否处于活动状态(可能使用路由器)?

时间:2013-05-20 01:02:13

标签: durandal

我的shell有按钮,只有当用户当前正在查看某个viewModel时才应显示这些按钮。如何确定视图当前是否从shell“处于活动状态”?

1 个答案:

答案 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。

http://durandaljs.com/documentation/Conversion-Guide/