将 AngularJS 与 BackboneJS 结合使用

Using AngularJS with BackboneJS

本文关键字:结合 BackboneJS AngularJS      更新时间:2023-09-26

我一直在寻找框架来帮助我编写结构更好的JS代码,并遇到了Backbone。它似乎有很多功能可以创建具有公共和私有属性和成员、继承等的类。

Angular JS似乎做了大量完全不同的事情,例如标记与模型的自动绑定以及许多用于模板,过滤,排序等的聪明技巧。

的问题不是我应该选择哪个,而是同时使用两者是否明智?AngularJS看起来真的很酷,但除非我错过了一些东西,否则它似乎没有提供任何OO的东西供你使用。这有意义吗?

我不确定将 Angular 与另一个框架配对是否真的很有意义,它非常完整。

另一方面,Backbone更具可组合性,例如,你可以看看Knockback项目,它使Backbone和KnockoutJS很好地协同工作。Knockout采用了MVVM方法,这种方法与Angular中的内容相对接近。

如果您需要为数据(也称为模型)编写 OO,只需使用 Base.js 这样的库即可。它为您提供了很好的OO语法,继承,以及extend等方法。好的部分是它保持了像myObject.var一样的 getter 语法,因此它可以很好地与 Angular 配合使用,与需要使用 getter myObject.get('var')的 Backbone 相反,因此数据绑定工作得很好。

要了解这些语法和哲学之间的差异和原因,请阅读 Angular 作者在 SO 中的回答之一。

AngularJS故意不强加任何特定的继承风格,所以你可以自由地做任何你想做的事情。如果你喜欢 Backbone.js 的继承模型,可以使用下划线(包含在 Backbone.js 中)来提供.extend帮助程序。