我们的需求是使用ASP.NET WebApi和AngularJS来构建响应式的网站;现在,为了使网站响应式,我们希望使用Bootstrap,而Bootstrap需要同时引入Bootstrap CSS和jQuery库;那么,我们应该在项目中加入jQuery库和AngularJS库吗?
可以使用jQuery,但不建议这样做,因为jQuery会增加很多开销。 如果按照“Angular的方式”编写代码,则不会破坏Angular的功能。例如,如果您尝试调整字段的值,那么在手动触发脏检查之前,作用域不会更新。这会导致垃圾代码和不一致的行为。
Angular是否使用jQuery库?
是的,Angular可以使用jQuery,如果在应用程序启动时存在jQuery,则可以使用它。如果您的脚本路径中没有jQuery,则Angular会回退到我们称为jQLite的jQuery子集的自己实现。
Angular 1.3仅支持jQuery 2.1或更高版本。jQuery 1.7及更高版本可能与Angular正常工作,但我们不能保证。
此外,请参阅以下问题:我们应该在AngularJS中使用jQuery吗?
如果您确实非常确定要使用jQuery,请确保首先包含jQuery脚本。然后,Angular将在JQ Lite的位置加载jQuery。
是的,您可以在同一个项目中使用Jquery和AngularJS。根据AngularJS文档:
Angular是否使用jQuery库?
是的,如果在应用程序引导时存在jQuery,则Angular可以使用jQuery。如果您的脚本路径中没有jQuery,Angular将退回到我们称之为jQLite的jQuery子集的自己的实现。
Angular 1.3仅支持jQuery 2.1或更高版本。 jQuery 1.7及更高版本可能与Angular正常工作,但我们不保证。
您还需要记住:
如果jQuery可用,则angular.element是jQuery函数的别名。如果jQuery不可用,则angular.element委托给Angular内置的jQuery子集。
如果您想在项目中使用任何Jquery插件,请确保将它们转换为Angular指令。
你可以将JQuery与AngularJS一起使用。AngularJS还有一个轻量级版本JQLite,其中包含AngularJS项目所需的所有JQuery功能。
首先建议使用纯AngularJS,但如果由于某种原因仅使用AngularJS不足够,您可以使用JQuery来填补空缺。如果您选择在AngularJS旁边使用JQuery,则必须开始考虑到AngularJS视图之外的所有操作都需要额外思考,因为如果AngularJS不知道更改,它将不会将该更改应用于任何内容。