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