猿问

如果我有jQuery背景,“在AngularJS中思考”?

假设我熟悉在jQuery中开发客户端应用程序,但现在我想开始使用AngularJS。你能描述一下必要的范式转变吗?以下是一些可能有助于您确定答案的问题:

  • 如何以不同方式构建和设计客户端Web应用程序?最大的区别是什么?

  • 我应该停止做什么/使用什么; 我应该开始做什么/使用呢?

  • 是否存在任何服务器端注意事项/限制?

我不是在寻找jQuery和之间的详细比较AngularJS


慕容3067478
浏览 676回答 5
5回答

小怪兽爱吃肉

你能描述一下必要的范式转变吗?势在必行与陈述使用jQuery,您可以一步一步地告诉DOM需要发生什么。使用AngularJS,您可以描述所需的结果,但不能描述如何执行此操作。更多关于这里。另外,请查看Mark Rajcok的答案。如何以不同方式构建和设计客户端Web应用程序?AngularJS是一个使用MVC模式的整个客户端框架(查看它们的图形表示)。它非常注重关注点的分离。最大的区别是什么?我应该停止做什么/使用什么; 我应该开始做什么/使用呢?jQuery是一个库AngularJS是一个漂亮的客户端框架,高度可测试,它结合了许多很酷的东西,如MVC,依赖注入,数据绑定等等。它侧重于关注点和测试(单元测试和端到端测试)的分离,这有助于测试驱动的开发。最好的方法是通过他们的精彩教程。你可以在几个小时内完成这些步骤; 但是,如果你想掌握幕后的概念,它们包含了无数的参考资料以供进一步阅读。是否存在任何服务器端注意事项/限制?您可以在已经使用纯jQuery的现有应用程序上使用它。但是,如果要充分利用AngularJS功能,可以考虑使用RESTful方法对服务器端进行编码。这样做将允许您利用他们的资源工厂,它创建服务器端RESTful API的抽象,并使服务器端调用(获取,保存,删除等)非常容易。

慕姐4208626

为了描述“范式转换”,我认为一个简短的回答就足够了。AngularJS改变了你找到元素的方式在jQuery中,您通常使用选择器来查找元素,然后将它们连接起来:$('#id .class').click(doStuff);在AngularJS中,您可以使用指令直接标记元素,以便将它们连接起来:<a ng-click="doStuff()">AngularJS并不需要(或希望)你找到使用选择元素- AngularJS的之间的主要区别jqLite与全面的jQuery的是jqLite不支持选择。所以当人们说“根本不包含jQuery”时,主要是因为他们不希望你使用选择器;&nbsp;他们希望你学习使用指令。直接,不选择!
随时随地看视频慕课网APP
我要回答