我一直在研究AngularJS好几个月来作为我创建的产品的核心框架。 AJS有许多方面值得我们学习。是的,有一点学习曲线,但它非常值得,尤其是如果你希望对客户端功能有更多的控制。
JQuery在运行时操纵DOM,而AJS将自己置于JS渲染生命周期中。这允许您通过创建HTML元素和属性来教导DOM新技巧。这非常非常强大。因为你能够做的是为你的目的和需要引入新的Element行为。在AJS中,这些自定义HTML属性/元素称为指令。借助制定自己的指令的能力,您可以构建当前HTML所不具备的功能,并推出可在现在和未来的所有现代浏览器上运行的功能。在诱发新行为的许多方法中,由于他们选择实施它,AJS似乎是最安全的方向。
在AJS中,与JQuery相比,性能有很大提高。
我喜欢双向数据绑定的简单性,以及客户端MVC模式中关注点的分离,正如上面所指出的,它提供了很好的可测试性。范围对象是视图(HTML),模型(您的数据)和您的自定义控制器之间的粘合剂。范围提供对父属性的访问,并且可以在兄弟级别进行隔离,这对于一些可重用的模板很重要。
模板可以在您的应用程序中创建并重用,其中可以包含0个或更多自定义指令。
我一直在使用像PRISM和MEF这样的框架,但我发现AJS具有大部分与这些.NET框架中存在的相同的功能,但占用了29K的空间。有传言说他们正在进行延迟加载,如果提供的话会提供一些非常有趣的LOB类型功能。
有许多正在建造的AJS UI框架,但是,你可以用任何第三方控制的lib需要给一点努力。诀窍是确保当这些第三方控件发生变化时,确保使用其应用方法正确通知AJS。
如果您在VS 2012与MS打字稿结合AJS,它提供管理和建立一些令人印象深刻的项目,这将为那些谁是更舒适VS.内的项目工作能力出色
有一吨的其他原因看AJS,但如果你正在考虑的框架,如淘汰赛我会强烈建议AJS相反,不管它的感知学习曲线。 Knockout是一个库,AJS是一个框架。
与其声明式绑定看起来类似于[Knockout.js](http://knockoutjs.com/)。 – greenimpala
使用AngularJS和ASP.NET MVC 4构建单页Web应用程序:http://tarkus.me/post/32121691785/angularjs-with-asp-net-mvc-4 –
您可能还需要检查AngularJS入门套件Visual Studio:http://github.com/kriasoft/angular-vs –