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

카테고리 변수를 responsing JQuery와 충돌 원인 크롬 정지) $ http.get (통해 API 서비스에서 가져온이며, NG-초기화 호출 initCategories 동적으로 두 가지의 국지적 인 조합을 만들 jquery-gridly를 사용하여 레이아웃을 다시 설정하는 것입니다 크롬이 응답을 멈 춥니 다 (탭도 전혀 닫을 수 없습니다)AngularJS와 및

카테고리를 객체 (인터넷에서 가져 오지 않음)로 변경하면 코드가 올바르게 작동합니다. 또한, $ ('xxx'). gridly()를 사용하여 레이아웃을 초기화하지 않을 때도 작동합니다.

나는 angularjs와 jquery를 결합하는 것이 나쁜 생각이라고 알고 있습니다. 그러나 코드가 크롬 멈춤을 나에게 혼란스럽게 만드는 이유는 무엇입니까? (루프는 앵글 시계로 인해 발생합니까?)

+0

를 들어

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

당신이 jQuery를에게 대신 $의 ('#의 idElement')를 사용하여 시도해 봤어 ...? –

+0

URL의 샘플 https://api.jquery.com/jquery.noconflict/ –

답변

0

많은 JavaScript 라이브러리는 jQuery처럼 함수 또는 변수 이름으로 $를 사용합니다. jQuery의 경우 $는 jQuery의 별칭이므로 $를 사용하지 않고 모든 기능을 사용할 수 있습니다. jQuery와 함께 다른 JavaScript 라이브러리를 사용해야하는 경우 $ .noConflict()를 호출하여 $의 제어를 다른 라이브러리로 되돌릴 수 있습니다. $의 오래된 참조는 jQuery 초기화 중에 저장됩니다. noConflict()는 단순히 그것을 복원합니다. 자세한 내용은 Documentation