2012-04-30 19 views
0

我习惯于Wicket等Web UI编程模型,它允许您定义在用户在客户端触发事件时调用的服务器端行为/事件处理程序,只需很少或没有客户端JavaScript标记。仅在node.js中从服务器端代码分配行为,事件和处理程序?

这些处理程序通过元素id绑定到标记(在Wicket的情况下wicket:id)。简化的代码会是这个样子:

斯卡拉:

add(new AjaxLink("mylink") { 
    override def onClick(target: AjaxRequestTarget) { 
    service.doSomething() 
    } 
} 

模板:

<a wicket:id="mylink">Click Me</a> 

HTML呈现到客户端:

<a id="mylink" onclick="some-generated-ajax-call()">Click Me</a> 

是这种方法可能在node.js中还是相关的图书馆?我清楚我在问什么?

我见过的唯一例子集中在服务器端请求处理程序上,而我留下的印象是人们需要手动编写调用这些服务器端路径的ajax-calls,event-handlers等带有jQuery的模板等。

好处是模板不需要逻辑,而且非常容易重构,您可以将它提供给对服务器端逻辑或调用一无所知的网页设计师。

+0

顺便说一句,我在看流星(http://meteor.com/),似乎接近我”米寻找,但我仍然对node.js +感兴趣?如果有的话。 – 7zark7

回答

0

它看起来像流星没有使用绑定或Ajax(根据视频) - 我没有看到它在文档中,但如果它推动数据到客户端它可能使用websocks。

为什么不使用流星?该功能可以在NodeJS中复制,当然,它已经可以在Meteor中使用。

您可以实现这样的事情,如果你想使用的NodeJS:http://blog.new-bamboo.co.uk/2009/12/7/real-time-online-activity-monitor-example-with-node-js-and-websocket

+0

谢谢,我不打算分散Meteor的套接字,流媒体等等。基本上,Meteor似乎可以让你在HTML标记之外定义事件处理程序,例如:“Template.hello.events = {'click input':function (){...}}“ – 7zark7

+0

如果我可以弄明白的话,我可以和流星一起去:-)虽然它是GPL,真的很新,而且我在寻找的东西似乎很简单,其他库可能会做类似的事情。这不是那么简单,我知道如何做到这一点;-) – 7zark7

相关问题