将AngularJS与BackboneJS一起使用

时间:2012-08-06 09:57:18

标签: javascript model-view-controller backbone.js angularjs

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

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

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

3 个答案:

答案 0 :(得分:3)

我不确定将Angular与另一个框架配对会非常有意义,它确实非常完整。

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

答案 1 :(得分:2)

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

要理解这些语法和哲学之间的区别和原因,请阅读one of the Angular author's answer here in SO

答案 2 :(得分:1)

AngularJS故意不强加任何特定的继承风格,因此您可以随意做任何事情。如果您喜欢Backbone.js的继承模型,可以使用underscore(包含在Backbone.js中)来提供.extend帮助程序。