backbone.js依赖于restful应用程序初始化模型,但渐进式增强呢?数据已经在dom(或其中一些)中,所以即使html元素存在,我的模型是否仍然会调用restful接口?是否有其他库设计可能更适合这种情况?
答案 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>
加载您的网页,让您的应用在本地播放。