我目前正在使用Backbone理念,该理念涉及模板样式的 dust.js 。最近我遇到了AngularJS,它使用自定义元素和属性扩展了HTML语法。
Backbone + dust.js环境的缺点:
如果我将我的功能移到AngularJS会有帮助还是感觉一样?
有人可以向我解释这两个库之间的主要区别是什么,因为它们在某种程度上看似相似?
答案 0 :(得分:10)
dust.js纯粹是一个模板模块。因此,它允许json与模板的组合来传递html输出。
Angular.js是客户端框架,允许将逻辑绑定到模板(页面)中定义的变量。
因此,使用dust.js,您负责决定何时通过模板运行json。通常,您在服务器(或客户端)上输入json并要求它呈现结果。
当模型(json)更改框架时,使用angular.js进行适当的重新渲染。该更改的触发器可能是用户操作(例如填写表单),也可能是因为从服务中加载了一些新的json。
如果你想要一个单页的JS应用程序(想想gmail),你通常会使用angular.js。 dust.js可能更类似于传统的方法,多页面的内容由传入json驱动。
您甚至可以同时使用它们 - 使用带有angular.js中动态客户端逻辑的dust.js进行服务器端渲染。