在backbone.js中从DOM初始化模型是否有意义?

时间:2011-02-23 23:37:59

标签: javascript html dom models backbone.js

backbone.js依赖于restful应用程序初始化模型,但渐进式增强呢?数据已经在dom(或其中一些)中,所以即使html元素存在,我的模型是否仍然会调用restful接口?是否有其他库设计可能更适合这种情况?

2 个答案:

答案 0 :(得分:6)

Backbone可以很好地处理它。我处理这种情况的方法是拥有一个工厂模型,它可以接收DOM节点并解析它以提取数据(id,字段等)。

如果您为View constructor提供'el'选项,则骨干网将无法获取或呈现模型,因此您可以按原样保留节点。

数据更改后,控制器将同步到服务器。无论是否显示,您都必须小心应用您的应用程序需要运行的任何数据。

答案 1 :(得分:-2)

您不应该使用DOM元素来使用后端数据初始化模型。你有一个非常好的基础设施,骨干不能做到这一点。当你依赖DOM时,你需要在DOM结构发生变化时更改你的javascript。

也不要依赖骨干视图来创建模型。它必须反过来,模型决定了页面上的视图。

只需添加一个脚本元素并直接在那里创建JS对象。您可以初始化集合,单个模型等。

您可以对模板或DOM UI构建块执行相同的操作:

<script type="text/js-template">
  <!-- Your template as realy do elements or using a js templating engine like _.template-->
</script>

加载您的网页,让您的应用在本地播放。

相关问题