20

我正在考虑使用 AngularJS 而不是带有 MeteorJS 的 Handlebars。我对 AngularJS 比较熟悉,但它与 Meteor 的开箱即用效果不佳。Handlebars 是 MeteorJS 中使用的默认模板引擎。

我想知道两者之间的权衡,例如,AngularJS 是否提供比 Handlebars 更灵活的前端编码。

我的问题是:当与 Meteor 配对时,AngularJS 能做哪些 Handlebars 在前端编程方面做不到的事情?

(请注意,人们喜欢 AngularJS 的双向绑定和数据模型的 b/c 部分,但 Meteor-Handlebars 也做得很好)。

更新:如果您认为它与 SO 中另一个比较 Angular 和 Handlebars 的问题重复,请不要投票关闭此问题。Meteor 凭借其“基于客户端的数据库”方法为 Handlebars 增加了强大的功能。

4

5 回答 5

7

Angular 和 Meteor 可以结合使用,这是一个非常简洁的组合。Angular 的模板系统和它的双向绑定(DOM 到 JS 模型)甚至可以一直使用并与 Meteor 集合保持同步。Angular 和 Meteor 的这种组合意味着您可以获得即时的 DOM 到数据库同步,这非常酷。Angular 自己无法做到这一点,Meteor(无需编写或多或少乏味的事件处理程序)甚至更少的 Handlebars 也不能。

angular-meteor Meteor 包几乎是 ngMeteor的继任者(它基于 ngMeteor 代码构建)并将 Meteor 集合与 Angular 模型、两个模板系统、Meteor 会话变量等集成在一起。

于 2014-07-18T13:20:51.893 回答
6

TL;DR:Meteor 最适合与包(想想 jQuery、bootstrap、d3、underscore、stylus、less),因为它们增强了框架。那些相同的包也会增强 Angular(嗯,有点)。Angular 是一个端到端框架,因此试图将其集成到另一个端到端框架(如 Meteor)之上会让人头疼。

Handlebars 具有您可能在 Angular 中熟悉的非常相似的表达式和绑定。但是,虽然模板引擎很相似,但其余的框架却有很大的不同。

Angular 非常依赖其内部指令(ng-repeat、ng-form、ng-bind 等)来轻松地将 javascript(即力量)绑定到您的标记。幕后有很多魔法。

Meteor 非常依赖 pub/sub 模型并连接到您的真实数据存储。他们的秘诀来自于轻松添加但抽象的包(handlebars 是他们的默认包之一,但其他一些包是 bootstrap、accounts-ui、d3 等)。

Meteor 遵循非常不同的意识形态,对框架设计的看法与 Angular 不同。在我看来,尽管该项目仍处于相对起步阶段,但 Meteor 的表现更胜一筹。您会发现 Meteor 非常非常擅长快速制作原型,尤其是在您需要获得用户支持并想使用 Twitter/Facebook/Google 时。

您最好选择其中一个,但如果您在服务器端不强,您可以编写一个非常漂亮的 Meteor 应用程序来充当您的 API 服务器。

于 2013-11-13T20:11:48.227 回答
4

如果您想将 angularjs 与流星一起使用,您只需安装一个包即可。然后你可以同时使用流星和角度。

Meteor 非常适合将数据从服务器传输到客户端,而 Angular 非常适合显示数据(并且稳定)。

mrt add angular-stack

或者

mrt add ngMeteor
于 2014-01-10T14:26:49.340 回答
3

一般来说,AngularJS 已经通过了 1.0 版本的里程碑,并被认为可以投入生产使用,而流星仍然是 alpha 软件。因此,Angular 更加精致,拥有指令、模块和丰富的第三方库,如AngularUI

但是如果你想尝试一个前沿的框架,不要认为你必须做超级花哨的模板,而是需要一个内置的数据库,选择 Meteor!

于 2013-02-16T18:14:07.990 回答
0

我想你可能会发现这个答案很有帮助。

我也认为这可能是一个重复的问题。

于 2014-10-07T22:27:50.757 回答