我习惯了来自 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。
好处是模板不需要逻辑,而且很容易重构,你可以把它交给对服务器端逻辑或调用一无所知的网页设计师。