0

我习惯了来自 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 调用这些服务器端路径, ETC。

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

4

1 回答 1

0

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

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

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

于 2012-04-30T07:05:48.620 回答