在 Backbone Marionette 应用程序中设置变量
Setting a variable in Backbone Marionette app
我想在网络连接中断时为 "down" 之类的变量赋值。但是,我不确定在哪里以及如何设置 Backbone 中的变量,以便可以从任何视图或模型访问它。我是 Backbone 和 Marionette 的新手。此变量对于执行 REST 端点调用的模块很有用。
在 AngularJS 中,我可以设置一个 http 拦截器或作为 service/factory,但不确定如何在 BackboneJS Marionette 应用程序中设置。
if (networkStatus !== 'down') {
// do the backbone.fetch()
}
另外,我的想法是不是一个好的方法?
您可以使用 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
初始化时进行,但这是值得深思的 ^^
我想在网络连接中断时为 "down" 之类的变量赋值。但是,我不确定在哪里以及如何设置 Backbone 中的变量,以便可以从任何视图或模型访问它。我是 Backbone 和 Marionette 的新手。此变量对于执行 REST 端点调用的模块很有用。
在 AngularJS 中,我可以设置一个 http 拦截器或作为 service/factory,但不确定如何在 BackboneJS Marionette 应用程序中设置。
if (networkStatus !== 'down') {
// do the backbone.fetch()
}
另外,我的想法是不是一个好的方法?
您可以使用 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
初始化时进行,但这是值得深思的 ^^