1

我有一个 Durandaljs 应用程序。我想在 shell 视图中有一个应该隐藏的后退按钮,这取决于现在激活哪个视图。在 shell viewmodel 中检测导航事件以更改后退按钮可见性状态的最简单方法是什么?

4

1 回答 1

1

基本解决方案

您可以通过以下方式检查使用路由器激活的视图router.navigationModel()[x].isActive

应用程序消息

您可以在 ViewModel 的 Activation 事件中使用 Durandal Application-Wide Messaging

在激活功能的视图模型中包括

app.trigger('viewNavigated', isBackVisable);

在外壳视图模型中

app.on('viewNavigated').then(function(isBackVisable)
{
     if(isBackVisable)
          MakeButtonBackVisable();
});
于 2014-01-18T14:31:56.267 回答