jquery - 在 AngularJS 之后加载 jQuery(而不是之前)

标签 jquery angularjs performance mobile

为了让 angular.element 指向 jQuery 而不是 jQLite,需要在页面头部先加载 jQuery,再加载 Angular。

但是,出于性能原因(尤其是在移动设备上),如果可以在加载 AngularJS 后加载 jQuery,那就太好了。 jQuery 库相对较大,因此让“首屏内容”依赖于 jQuery lite,并让 jQuery 在 Angular 之后异步加载,可以提高性能。

我认为如果 Angular 公开它的 bindJquery 函数和 JQLitePrototype 对象,这是可能的。

有人知道如何在不触及 Angular 核心的情况下做到这一点吗?

最佳答案

您可以在加载 jQuery 后手动扩展 JQLite 原型(prototype):

angular.extend(angular.element.prototype, jQuery.fn);

但是,由于这不是 jQuery 与 Angular 的设计用法,因此可能会带来不必要的问题。但如果您的唯一目的是使用一些有用的 jQuery 方法扩展 angular.element,那么这应该没问题。

查看下面的演示,了解 jQuery 的方法如何在 angular.element 中使用,即使 jQuery 是在 Angular 之后加载的。

演示:http://plnkr.co/edit/fo70VtmgBCQDU9RWGGVF?p=preview

关于jquery - 在 AngularJS 之后加载 jQuery(而不是之前),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27777108/

相关文章:

javascript - 使用 javascript 调用函数

javascript - 当我导出大量 json 数据文件 (20MB) 但它在 Firefox 中完美运行时,Chrome 崩溃了..?

java - flash() OutputStreamWriter 对网络的副作用

ASP.NET 文件上传停止网站上的所有其他请求

angularjs - 如何保护 Firebase 应用程序免受无限循环的影响?

performance - 为什么提供缓存页面需要一秒钟?

javascript - JQuery - 我可以使用什么方法来运行此代码而无需单击

jquery - 如何在 css calc() 中发送动态值

javascript - 如何使用 JavaScript 中的函数最好地从数组内部返回记录

javascript - 从javascript中的数字列表中获取等于或大于数字