强制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