在Backbone Marionette app中设置变量

时间:2015-08-31 15:57:04

标签: javascript backbone.js marionette offline

当网络连接丢失时,我想为“down”这样的变量赋值。但是,我不确定在Backbone中设置变量的位置和方式,以便可以从任何视图或模型访问它。我是Backbone和Marionette的新手。此变量对于执行REST端点调用的模块非常有用。

在AngularJS中,我可以设置http拦截器或作为服务/工厂但不确定如何在BackboneJS Marionette应用程序中执行此操作。

if (networkStatus !== 'down') {
   // do the backbone.fetch()
}

另外,我的想法是一个好方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用Backbone.Radio,并设置globalState频道:

var globalStateChannel = Backbone.Radio.channel('globalState')
if(globalStateChannel.request('networkStatus') !== 'down'){ ... }

App的某个地方,您应该设置回复处理程序:

var globalStateChannel = Backbone.Radio.channel('globalState')
globalStateChannel.reply('networkStatus', function(){
  // put your logic here
  return something
}

当然,每次明确引用频道的时间非常长 - 您可以在Views初始化时进行,但这是值得深思的^^