4

我用name,value属性绑定字段。但它不舒服。

input(name='user[name]', value='#{user.name}')

我想要类似于knockout.js的数据绑定,但不在客户端(传统移动设备)中加载 javascript。类似于以下代码:

 input(databind='username[value]')
4

1 回答 1

2

knockout.js 的很大一部分功能是“双向绑定”,检测 DOM 元素上的更改和事件并将它们反映在模型中。如果不加载 javascript,这部分是不可能的。

因此,我假设您在生成要发送给客户端的 html 时询问某种形式的单向绑定。

这让我想知道你寻求什么好处。这仅仅是对不同编码风格的偏好吗?

Knockout.js 的数据绑定呈现为一组可扩展的“绑定”,每个绑定都针对特定目的量身定制,以方便特定范围的使用场景。例如,淘汰赛的 foreach 或重复绑定可以方便地生成列表或表格。对我来说,淘汰赛的最大优势是可以轻松创建新的绑定以满足您的特定需求。

对于这里的价值是一些想法......没有特定的顺序。

  1. 您也许可以使用jade mixin 和块来定义一些适合常见使用场景的简单可重用绑定。
  2. 看看其他适合你服务器端环境的模板库,看看有没有比jade更喜欢的。
  3. 具有扩展机制(EJS 过滤器、Mustache lambda、JSP 自定义标签)的模板库将允许您为您的使用场景创建一些常用绑定并重用它们。

最好的办法可能是更具体地说明您想要的好处。这可能会激发一些更好的反应。

于 2012-07-15T09:50:32.247 回答