【问题标题】:JS framework that provides two-way binding with server-side rendered htmls?提供与服务器端呈现的 html 的双向绑定的 JS 框架?
【发布时间】:2013-03-12 16:01:08
【问题描述】:

是否有任何 JS 框架提供与服务器端呈现的 html 的双向绑定?与 Angular/Ember 类似,但不是在客户端呈现 html,而是仅更新服务器端生成的 html。

我喜欢在没有 JS 的情况下保持 html 页面可见,并且只使用 JS 使它们具有交互性。我现在正在使用 jQuery,但是手动从视图中拉取和推送数据很麻烦。

【问题讨论】:

标签: javascript angularjs ember.js javascript-framework


【解决方案1】:

我们已经为此寻找了一段时间,并已开始探索 rivets.js 来做到这一点。

在服务器端,我们:

  • 使用铆钉所需的“特殊前缀属性”渲染 HTML
  • <script>标签中发送页面上使用的模型的JSON(又名引导)

在客户端,我们:

  • 用 Backbone 组织我们的代码
  • 将引导模型与包含模型渲染表示的<div>s 绑定

铆钉管理绑定。

这仍然是相当实验性的,所以当我们更好地了解权衡和性能时,我会更新这个答案。

【讨论】:

  • 谢谢,看起来很有趣,我也试试。
【解决方案2】:

您正在寻找的是旨在使用 __Progressive Enhancement 的框架

Ember.js 和 Angular 采用了截然不同的方法。鉴于您要求“在没有 JS 的情况下保持 html 页面可见”,这两者都不是一个好的选择。当然,使用 jQuery 是一种选择,但就像你说的那样,它可能很麻烦。可能值得重新考虑该要求。

【讨论】:

    【解决方案3】:

    我无法与 Ember 交谈,所以我将作为 AngularJS 社区的活跃成员来回答。

    Angular 和 Ember 主要是客户端 MVC 框架,因此在此之外使用它们可能没有多大意义。例如,AngularJS 提供的跳跃和界限不仅仅是双向数据绑定。

    即使你让它工作,它也将是矫枉过正。它们旨在构建 Web 应用程序,而不是网页。我认为 JavaScript MVC 框架 适合简单地“使 [a page] 交互”。此外,jQuery 在这方面已经做得很好,您可以使用模板引擎来完成一些数据绑定。

    但总的来说,我是 AngularJS 和客户端 MVC 的忠实粉丝,所以我希望能提供更多帮助:

    • 您能否提供一些关于您为何关注 AngularJS 和 Ember 的见解?
    • 你想做什么,而你已经不能在 jQuery 中做?
    • 为什么要扩充网页而不是设计更多的网络应用程序?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 2014-03-22
      • 2015-09-08
      • 1970-01-01
      相关资源
      最近更新 更多