在 Backbone JS 中,我在哪里定义多个视图之间共享的功能?
In Backbone JS, where do I define functionality shared between several views?
我的 Backbone JS 应用程序使用了一堆 Web 服务,虽然有些服务特定于某些视图,但有些服务调用在站点的许多地方使用。这些应该在哪里定义?他们属于像 myApp.webServices
这样的地方吗?
例如,假设该应用程序使用用户目录 Web 服务和天气数据服务,并且许多不同的地方都需要这些服务。这是方法吗?
myApp.webServices = {
userDirectory: {
getUser: function(userID) {
// Do service call
return foo;
}
},
weather: {
getWeather: function(cityName) {
// Do service call
return bar;
}
}
}
我会像在其他任何地方组织它一样组织它:UserDirectory
和 WeatherService
不属于任何其他部分,因此它们属于自己的模块。
我用的是 ES6,所以在任何需要它们的地方(例如,在你的每个视图中):
import Weather from "services/Weather";
import Directory from "directories/Users";
无需将它们绑定到一个整体。 Backbone的强大之处在于不需要任何一种方式,所以只需对应用程序结构做出合理的决定,然后据此加载文件。
我的 Backbone JS 应用程序使用了一堆 Web 服务,虽然有些服务特定于某些视图,但有些服务调用在站点的许多地方使用。这些应该在哪里定义?他们属于像 myApp.webServices
这样的地方吗?
例如,假设该应用程序使用用户目录 Web 服务和天气数据服务,并且许多不同的地方都需要这些服务。这是方法吗?
myApp.webServices = {
userDirectory: {
getUser: function(userID) {
// Do service call
return foo;
}
},
weather: {
getWeather: function(cityName) {
// Do service call
return bar;
}
}
}
我会像在其他任何地方组织它一样组织它:UserDirectory
和 WeatherService
不属于任何其他部分,因此它们属于自己的模块。
我用的是 ES6,所以在任何需要它们的地方(例如,在你的每个视图中):
import Weather from "services/Weather";
import Directory from "directories/Users";
无需将它们绑定到一个整体。 Backbone的强大之处在于不需要任何一种方式,所以只需对应用程序结构做出合理的决定,然后据此加载文件。