angularjs手动删除jquery autoload

时间:2015-02-06 16:11:24

标签: jquery angularjs

我使用AngularJS 1.2.9构建了一个站点,该站点通过CMS添加到客户端的网站中作为块体。我无法控制页面的标题,他们正在使用旧版本的jQuery(1.6)。

因为Angular默认使用jQuery,如果它检测到它被加载到DOM中,我在编译链接函数等中的元素引用会出现element not defined错误。

我需要找到一种方法来阻止Angular使用jQuery,而只是默认使用默认的jqLit​​e。我知道一个奇怪的请求,但我对头文件没有任何控制权,而且页面会为所有选择器代码抛出错误。我在AngularJS docs for 1.2

中找到了这个
  

Angular 1.2仅适用于jQuery 1.7.1或更高版本。

所以我认为这个错误是由加载的旧版1.6 jQuery引起的。

所以我的问题是:

  

有没有办法在bootstrapping期间手动告诉AngularJS NOT不要使用jQuery?

1 个答案:

答案 0 :(得分:1)

不确定这是否对你有用,但它在过去解决了类似的问题。

<script>
  var backup = {
    $: window.$,
    jQuery: window.jQuery
  };
  delete $;
  delete jQuery;
</script>

<script src="path/to/Angular.js"></script>

<script>
  var $ = backup.$;
  var jQuery = backup.jQuery;
  delete backup;
</script>