在主干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的强大之处在于,它不需要以任何一种方式来做,因此只需对应用程序结构做出合理的决定,然后根据该决定加载文件。
相关文章:
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- 可以't将几个数字设置为<输入类型=“;数字“>
- 当加载几个js文件时,defer属性应该如何工作
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 如何从数组中删除几个相同的项
- 包括php文件和几个js文件
- 在几个元素上模拟onclick事件
- 如何更改与Backbone集合中的模型相关联的几个元素的css属性
- 如何在几个jQuery对象上调用jQuery函数
- 用PHP/MMySQL和JavaScript填充几个HTML分区
- 点击几个按钮后动态网站更改
- d3日历视图:如何将所有内容放在一个svg中,而不是放在几个svg中
- 在JavaScriptES6中,如何从散列中只获取几个属性
- 多个 $(document).ready(function() 但只有前几个被解雇
- 几个用于布线的角度模块
- 使用 1 函数使一个值等于几个不同的变量
- 几个jQuery日期选择器小部件,只向其中一个添加类
- 当适合设备的绝对视图在移动设备中向右移动几个像素时,我如何防止双击缩放
- 在backbone.js中,每个页面有几个模型和视图
- 在主干JS中,我在哪里定义几个视图之间共享的功能?