2016-04-27 58 views
0

我在我的項目中使用angular-fullstack yeoman生成器。jquery只能在window.onload = function()

它默認包含Jquery。

<script src="bower_components/jquery/dist/jquery.js"></script>是正確的index.html內

奇怪的是,在我的js文件,jQuery的完美的作品在這裏面:

window.onload=function() { 
    //my jquery code working here 
    } 

但是,如果我把這個並不在所有的工作相反:

$(document).ready(function() { 
    // my code is not working here :(
}); 

從那裏,我遇到了一些麻煩。當我從一個頁面切換到另一個頁面時,jquery停止了。我需要刷新頁面以保持Jquery的正常工作。

如果我的jQuery代碼在裏面$(document).ready(function()

由於我使用的角fullstack發生器已經讓幾乎所有的事情在我的項目,我可能沒有這個問題,我不知道我需要做一些改變,使其工作..

任何建議?非常感謝。 :)

回答

0

據我所知使用jQuery與AngularJS不是一個好的做法。一般來說,如果在你的角度項目中你需要使用jQuery,這意味着你必須創建一個自定義指令,讓一些邏輯或更少的理想選擇是使用jQuery Lite功能附帶的angular.element

關於您的問題,請測試是否這將工作:

jQuery(document).ready(function($) { 
    // example $('.btn').hide(); 
}); 
+0

謝謝你的評論。的確,我只是意識到jQuery並不是在使用Angular的這樣的項目中的練習。所以這意味着我需要使用angular來重寫所有的東西,而不是jQuery。我的不好.. ^^ – Emidomh