2016-04-27 3 views
0

Я использую генератор углового фуллстака в моем проекте.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, это означает, что вам нужно создать собственную директиву, чтобы иметь какую-то логику, или менее идеальной альтернативой является использование angular.element, который поставляется с функциями jQuery lite.

Что касается вашей проблемы, пожалуйста, проверить, если это будет работать:

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

Спасибо за ваш комментарий. Действительно, я просто понимаю, что jQuery - это не практическая практика в таком проекте с использованием Angular. Поэтому это означает, что мне нужно «переписать» все, используя угловые, а не jQuery. Мой плохой .. ^^ – Emidomh