Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否仅在node.js中从服务器端代码分配行为、事件和处理程序?_Node.js - Fatal编程技术网

是否仅在node.js中从服务器端代码分配行为、事件和处理程序?

是否仅在node.js中从服务器端代码分配行为、事件和处理程序?,node.js,Node.js,我习惯于Wicket等的web UI编程模型,它允许您定义当用户在客户端触发事件时调用的服务器端行为/事件处理程序,标记中很少或没有客户端javascript 这些处理程序通过元素id(在Wicket的示例中为Wicket:id)绑定到标记。简化代码如下所示: 斯卡拉: add(new AjaxLink("mylink") { override def onClick(target: AjaxRequestTarget) { service.doSomething() }

我习惯于Wicket等的web UI编程模型,它允许您定义当用户在客户端触发事件时调用的服务器端行为/事件处理程序,标记中很少或没有客户端javascript

这些处理程序通过元素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调用、事件处理程序等,用jQuery等在模板中调用这些服务器端路径


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

看起来Meteor没有使用绑定或Ajax(根据视频)-我在文档中没有看到它,但如果它将数据推送到客户端,则可能使用WebSock

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


如果您想使用NodeJS,您可以实现类似的功能:

顺便说一句,我正在查看meteor(),它似乎与我要查找的内容非常接近,但仍然对node.js+感兴趣???如果有方法的话。谢谢,我不想用Meteor的套接字、流等分散注意力。基本上,Meteor似乎可以让你在HTML标记之外定义事件处理程序,例如:“Template.hello.events={‘click input’:function(){…}”如果我能弄清楚的话,我可能会使用Meteor:-)虽然它是GPL,但非常新,我所寻找的似乎足够简单,其他库也可以做类似的事情。然而,这并不是那么简单,我知道怎么做;-)