当与Meteor结合使用时,AngularJS可以做到的Handlebars不能做什么?

时间:2013-02-06 00:03:19

标签: angularjs meteor handlebars.js

我正在考虑使用AngularJS代替Handlebars和MeteorJS。我对AngularJS更熟悉,但它与Meteor的开箱即用效果不佳。把手是MeteorJS中使用的默认模板引擎。

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

我的问题是:当与Meteor配对时,AngularJS可以做什么,Handlebars在前端编程方面无法做到?

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

更新:如果您认为它与SO中另一个比较Angular和Handlebars的问题重复,请不要投票结束此问题。由于其“客户端数据库”方法,Meteor为Handlebars增加了重要的力量。

5 个答案:

答案 0 :(得分:7)

Angular and Meteor can be combined,它是一个非常整洁的组合。 Angular的模板系统及其双向绑定(DOM到JS模型)甚至可以在整个过程中保持与Meteor集合同步。这样的Angular和Meteor配对意味着您可以获得即时DOM到数据库同步,这非常酷。 Angular不能单独做到这一点,Meteor也不能这样做(没有编写更多或更少乏味的事件处理程序)甚至更少的Handlebars。

angular-meteor Meteor软件包几乎是ngMeteor的继任者(它建立在ngMeteor代码上),并将Meteor集合与Angular模型,两个模板系统,Meteor Session变量等集成在一起。

答案 1 :(得分:6)

TL; DR :Meteor最适合包(想想jQuery,bootstrap,d3,下划线,手写笔,更少),因为它们增强了框架。那些相同的包也会增强Angular(好吧,有点)。 Angular是一个端到端的框架,所以试图将它集成到另一个像Meteor这样的端到端框架之上是令人头疼的问题。

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

Angular严重依赖其内部指令(ng-repeat,ng-form,ng-bind等),以便轻松地将javascript(即电源)绑定到您的标记。幕后有很多魔力。

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

流星遵循非常不同的意识形态,对框架设计的看法与Angular不同。在我看来,尽管该项目仍处于相对初级阶段,但Meteor还是优越的。你会发现Meteor真的,真的擅长快速原型制作,特别是如果你需要配合用户支持并想要使用Twitter / Facebook / Google。

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

答案 2 :(得分:4)

如果你想将angularjs与meteor一起使用,你可以安装一个可以做到这一点的软件包。然后你可以使用流星和角度。

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

mrt add angular-stack

mrt add ngMeteor

答案 3 :(得分:3)

一般来说,AngularJS已经通过版本1.0里程碑,并且已经准备好用于生产,而流星仍然是alpha软件。因此,Angular更加精致,具有directives模块和丰富的第三方库,如AngularUI

但是如果你想尝试一个前沿的框架,不要认为你必须做超级模板化的东西,但需要一个内置的数据库,与Meteor一起使用!

答案 4 :(得分:0)

我认为您可能会发现this answer有帮助。

此外,我认为这可能是一个重复的问题。