Я нахожу проблему с добавлением внешнего js файла в Ionic 3. Вот что я сделал, я создал файл hamburg.js
в src/js/hamburg.js
и назвал файл сценария в index.html в app/index.html
. И я добавил html-код в testpage.hmtl
и css в testpage.scss
. Также объявлено в app.component.ts
. Вот мой код
app.component.ts объявляет var wrapperMenu;
hamburg.js
var wrapperMenu = document.querySelector('.wrapper-menu');
wrapperMenu.addEventListener('click', function(){
wrapperMenu.classList.toggle('open');
})
index.html
<script src="assets/js/hamburg.js"></script>
testpage.html
<div class="wrapper-menu">
<div class="line-menu half start"></div>
<div class="line-menu"></div>
<div class="line-menu half end"></div>
Может ли кто-нибудь помочь мне, пожалуйста?
Нет необходимости в внешнем js файле, этот плагин играет в основном с CSS.
этот фрагмент
var wrapperMenu = document.querySelector('.wrapper-menu');
wrapperMenu.addEventListener('click', function(){
wrapperMenu.classList.toggle('open');
})
можно поместить в файл app.component.ts. или если у вас есть отдельный компонент для заголовка, лучше поместить код в его файл ts именно на ngOnInit()
.
Изменить лучший крючок в жизненном цикле компонента - это превратить этот код в ngAfterViewInit()
.
Редактирование 2: Еще одна хорошая практика заключается в том, чтобы использовать предопределенное menu-content-open
класса menu-content-open
, которое автоматически добавляется при открытии меню, и вы можете изменить селектор в коде CSS с .open
на menu-content-open
проверьте мой раздвоенный пример с вашего оригинального здесь.
Обратите внимание, что код будет работать идеально, когда вы добавите его в ионное приложение.