稍微努力以充分利用Node的模块/ require()/ exports设置来进行适当的OO编程.创建全局命名空间而不使用导出(如客户端js app开发中)是一种好习惯吗?所以,在模块(Namespace.Constructor.js)中:
Namespace = Namespace || {};
Namespace.Constructor = function () {
//initialise
}
Namespace.Constructor.prototype.publicMethod = function () {
// blah blah
}
Run Code Online (Sandbox Code Playgroud)
...并且在调用文件时只使用...
requires('Namespace.Constructor');
var object = new Namespace.Constructor();
object.publicMethod();
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个带有大量模型的Backbone集合.
只要在模型上设置了特定属性并将其保存,就会触发大量计算并重新呈现UI.
但是,我希望能够同时在多个模型上设置属性,并且只有在设置完成后才进行保存和重新渲染.当然我不想为一个操作发出几个http请求,并且绝对不想要重新渲染接口十次.
我希望在Backbone.Collection上找到一个save方法,它可以解决哪些模型hasChanged(),将它们作为json重新组合并发送到后端.然后可以通过集合上的事件触发重新渲染.没有这样的运气.
这似乎是一个非常常见的要求,所以我想知道为什么Backbone没有实现.这是否违反RESTful架构,将多个内容保存到单个端点?如果是这样,那又怎样?让1000个小项继续生成1000个请求是不切实际的.
那么,唯一的解决方案是使用我自己的存储方法来扩充Backbone.Collection,该方法遍历其所有模型并为所有已更改并将其发送到后端的json构建?或者有没有人有一个更整洁的解决方案(或者我只是错过了一些东西!)?
我看到有一些技术可以在Backbone中使用深层模型,但是单个模型的层次化集合怎么样?
一个明显的例子是类别树.所以,我们可以有一个类别模型,它具有一些属性,"名称","类型","颜色"等等.
我们使用js,而不是拥有关系数据库样式的父ID,所以我们希望数据表示为json.
是否可以利用主干来支持(可能是通过扩充集合)数据结构,这些数据结构包含树中单个模型的实例(这样模型和子模型都是同一模型的实例)?
我正在生成一个表示折线图的大型SVG路径字符串.
在图表下方,我有一个用于选择时间范围切片的滑块.滑块后面是整个折线图的迷你预览.
我目前正在缩小生成预览的路径,但是这样做我最终得到每个像素数十个节点,因此需要更多细节.当然,这为浏览器提供了更多的渲染效果.
有很多关于压缩svg字符串(gzipping等)的信息,尽管很少有算法通过减少节点来实际简化路径.
我正在使用Raphaeljs,我正在寻找基于JavaScript的解决方案.有任何想法吗?