当网络连接丢失时,我想为“down”这样的变量赋值。但是,我不确定在Backbone中设置变量的位置和方式,以便可以从任何视图或模型访问它。我是Backbone和Marionette的新手。此变量对于执行REST端点调用的模块非常有用。
在AngularJS中,我可以设置http拦截器或作为服务/工厂但不确定如何在BackboneJS Marionette应用程序中执行此操作。
if (networkStatus !== 'down') {
// do the backbone.fetch()
}
另外,我的想法是一个好方法吗?
答案 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
初始化时进行,但这是值得深思的^^