3

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

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

我的问题不是我应该选择哪个,而是两者都使用是否明智?AngularJS 看起来真的很酷,但除非我遗漏了什么,否则它似乎没有提供任何面向对象的东西供您使用。这有意义吗?

4

3 回答 3

3

我不确定将 Angular 与另一个框架配对是否真的很有意义,因为它已经很完整了。

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

于 2012-08-06T10:03:47.637 回答
2

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

要了解这些语法和哲学之间的区别和原因,请阅读Angular 作者在 SO 中的答案之一

于 2012-08-20T07:27:32.137 回答
1

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

于 2012-08-06T22:11:09.620 回答