Angularjs和JQuery冲突导致Chrome停止响应


<div class="gridly-static">
  <div id={{y.id}} ng-repeat="y in Categories" ng-init="initCategories()">
    <div class="title">{{y.name}}</div>
  </div>
</div>

类别变量是通过$ http.get()从API服务中获取的,而NG-INIT呼叫initcategories是使用jQuery-Gridly以动态重置布局。两件事的组合使我的chrome停止响应(Tab也可以't完全关闭)

当我将类别更改为对象(不要从Internet获取)时,代码可以找到。另外,当我不使用$('xxx')启动布局时。gridly()也有效。

我知道结合angularjs和jQuery是一个坏主意。但是,为什么代码使Chrome停止运行使我感到困惑。

许多JavaScript库将$用作函数或变量名,就像jQuery一样。在JQuery的情况下,$只是jQuery的别名,因此所有功能都在不使用$的情况下可用。如果您需要在jQuery旁边使用另一个JavaScript库,请返回$返回另一个库,并打电话给$ .noconflict()。$的旧引用在jQuery初始化期间保存;noconflict()只是恢复它们。

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
});
 // Code that uses other library's $ can follow here.
</script>

有关更多详细信息文档

最新更新