在不需要时处理模型/视图实例的最有效方法是什么?
通常,我将所有逻辑放在控制器/路由器中.决定应该创建哪些视图,以及应该为它们提供哪些模型.通常,有一些处理函数,对应于不同的用户操作或路由,每次执行处理程序时我都会创建新的视图实例.当然,这应该消除我以前存储在视图实例中的任何内容.但是,在某些情况下,某些视图会自行保留DOM事件处理程序,并且它们不会正确地解除绑定,从而导致这些实例保持活动状态.我希望有一种正确的方法来销毁视图实例,例如当他们的el(DOM表示)被分离或抛出DOM时
虽然DOM仍然完全支配我们创建UI的方式,但创建一堆完全基于画布的UI组件(如按钮,列表,水平/垂直组等)是否有意义?
我肯定知道会有很多弊端,但这样做的可能优势是什么呢?
首先,我会说一般来说,与画布的视觉整合会更紧凑.
在技术上是否可以使用模板嵌套视图,类似于:
<%= new PhotoCollectionView({model:new PhotoCollection(model.similarPhotos)}).render().el) %>
Run Code Online (Sandbox Code Playgroud)
我也可以将所有内容都放在渲染方法中,但模板为灵活性和布局提供了更多空间.
我尝试了前面提到的变体,但我在屏幕上得到的结果是[HTMLDivElement]
.
如果我尝试只提取HTML,使用jQuery的HTML,我会将其渲染,但事实证明,打印出来的DOM节点与视图引用的DOM节点不同,因为没有任何交互使用视图实例可以使用这些DOM节点.例如,如果在视图中我说$(this.el).hide()
,什么都不会发生.
什么是正确的方法,如果有的话?
是否可以在通用级别上覆盖"调用"函数,以便每次在应用程序中的任何位置调用方法时,都会发生某些事情.
我尝试重写Object.call,但是虽然我设法做到了,但它没有改变我的应用程序的工作方式.
顺便说一句,即使它有效,我每次都应该明确地调用"foo.call(this,args)",否则正常的函数调用也会起作用"foo(args)"?
我希望能够对给定的JS应用程序执行操作,然后只需获取已调用的所有函数的大型日志.这在Chrome中是可行的,但只有在某处放置断点时才有可能.我的问题是,当我对一个给定的网站进行逆向工程时(当然,仅用于自学教学目的),通常需要花费大量时间来确定从哪里开始.这样的事情会对我有很大的帮助,因为我不再需要在代码中搜索,而是我会做一个用户操作,然后抓住堆栈日志.
我想应该有一种方法来拦截(或包装)每个函数调用,以便在调用函数之前将其转储到日志中.
我已经声明了一个Spring bean,它会每隔几秒钟轮询我的电子邮件服务器.如果有邮件,它会抓取它,并尝试提取其中的任何附加文件.然后将这些文件提交给上传者,安全地存储它们.上传器也被声明为Spring bean.第三个bean将电子邮件的发件人与文件的文件名相关联,并将其存储在数据库中.
事实证明,当一些人试图同时发送电子邮件时,发生了一堆乱七八糟的事情.DB中的记录有错误的文件名.有些人根本没有获得文件名等.
我将问题归结为bean默认情况下将范围限定为单例.这意味着一堆线程可能同时搞乱了同一个实例.问题是如何解决这个问题.
如果我同步所有敏感方法,那么所有线程将堆叠起来并等待彼此,这有点违背了多线程的整个想法.
另一方面,将bean定义为"请求"将创建每个bean的新实例,如果我们谈论内存消耗和线程调度,这也不是很好
我很迷惑.我该怎么办?
使用Backbone.js,是否可以让路由器导航到它来自的页面?我想在弹出窗口时更改URL的情况下使用它,当我隐藏弹出窗口时我想要更改它.我不想简单地回去,因为在我展示弹出窗口之前,我想让背景页面保持与我离开时完全相同的位置
我可以在JS代码中暂停执行吗?我正在研究一个简单的基于haxe的debug util,我希望能够通过调用一个触发执行暂停的util方法来模拟断点.
制作JSP页面渲染的最简单方法是什么,然后将渲染的html内容作为字符串?
我一直在使用Spring一段时间才意识到我在应用程序中收到的所有传入请求都不是基于HTTP的.有些请求是基于电子邮件的,需要基于电子邮件的响应,其他请求是基于套接字的(在我的NOSQL存储中值发生变化时接收通知).所有这些,尽管使用或多或少相同的MVC基础设施.
因此,我认为可能重新构建应用程序,以消除控制器和HTTP基础结构之间的耦合将有所帮助.
调度程序不应再直接调用控制器方法,而是提取请求参数,并使用它们创建抽象消息(或事件),然后将其放在消息总线上.另一方面,每个控制器将为不同的事件订阅其动作(Action类的实例 - Command模式的实现).
由于我对Spring Integration,JMS和其他类似的东西都很陌生,所以我不知道选择哪种消息传递技术.此外,我很确定已经开发出这样的架构.也许,我甚至可能没有走上正轨.
我接受有关如何进行的各种建议.
javascript ×7
backbone.js ×3
java ×3
debugging ×2
spring ×2
canvas ×1
dom ×1
haxe ×1
html ×1
html5 ×1
jms ×1
jquery ×1
jsp ×1
pushstate ×1
stack-trace ×1
string ×1
templating ×1
url ×1