是否有一般方法取消木偶的AppRouting?

时间:2014-10-28 01:45:13

标签: backbone.js marionette

基于单个ItemView,我想要一种实现方式'你确定要离开这个页面吗?我曾尝试使用'onBeforeClose'事件,但我不认为这些可以取消最终导航到另一条路线。我认为早期版本的Marionette有这个功能,但我在1.8.4。

在每个AppRouter上使用'onRoute'似乎也缺乏基于当前视图的某些条件取消路由的能力。我的下一个想法是重写'导航'功能以检查某些条件。

使用'before'函数定义似乎在返回false时取消路由,但此时url散列已经更改。

任何木偶/骨干特定指针?

1 个答案:

答案 0 :(得分:2)

在当前的牵线木偶应用程序中,我有一个全局点击处理程序,用于处理所有链接上的点击事件(href,如#settings/user),然后手动调用Backbone.history.navigate(route, {trigger: true|false});。当调用此处理程序时,我正在检查全局定义的变量,如App.isScreenLocked,如果这是真的,我不会调用navigate。