强制AngularJS在使用多个版本的jQuery时使用特定版本的jQuery

我inheritance了在noConflict模式下将几个版本的jQuery加载到页面中的项目。 应用程序是巨大的,测试缺失,似乎每个前devloper没有“cohones”大到足以删除以前的库。 因此结果是$引用了jquery版本1.4.2。
是否有任何方式/技巧可以告诉角度应该使用jQuery版本? 就像是

angular.jq = j182

我知道我可以这样做

  j182 = jQuery.noConflict(); 

但后来我有一种“隐藏的依赖”,我想避免。

你是对的。 $.noConflict()允许你一次玩2个版本的jQuery(除非真的需要,否则应该避免)。

要使角度模块使用所需的版本,可以使用ng-jq="whateverYouCallIt" ,其中在window可以调用ng-jq="whateverYouCallIt" 。 例:

     ... 

请注意,因为如果你需要从其他地方访问$scope ,你必须通过ng-jq指定的相同jQuery获取它:

 var myAnguarAppScope = window.j190('#myAngularApp').scope(); 

顺便说一下,上面的console.log调用输出:

全球可用的jQuery:1.7.2
j190:1.9.0