#angular
#angular
Вопрос:
Я новичок в agnular2. Я использовал тему html5 и тему, содержащую несколько файлов javascript. Теперь проблема в том, что я пытаюсь загрузить эти файлы в свое приложение angular2, но оно не загружается должным образом.
То, что я сделал, это просто связать эти скрипты с моим index.html файл и в первый раз, когда я открываю страницу, скрипты работают хорошо, но когда я маршрутизирую страницы в своем приложении, они не загружаются в приложение при каждом изменении маршрутизатора, необходимо обновить страницу.
Пожалуйста, помогите ..!!!
Комментарии:
1. Если у вас, ребята, нет знаний, то, по крайней мере, пожалуйста, не голосуйте… Это будет полезно и другим.
2. Извините, но я не голосовал.
3. Извините, я не указывал вам.. Это для тех, кто не голосует
Ответ №1:
это потому, что ваш JS-файл загружается до создания компонентов. Попробуйте что-то вроде этого: в вашем js-файле используйте конструктор fn. /**/ app.js
function callSomething(){
console.log('something has been called.');
}
/* в component.ts*/
declare var callSomething: any; //declare this at top;
теперь вы можете вызвать его внутри любого метода:
new callSomething();
Комментарии:
1. нет, я использую npm start и запускаю сборку для запуска своего приложения
2. В идеале это должно работать, если вы включили свой js-файл, он уже загружен и должен быть доступен, единственной причиной может быть то, что он не инициализируется в представлениях. Как вы это называете в своих представлениях. Можете ли вы поделиться своим любым представлением, где оно не вызывается?
3. Я только что включил в index.html файла нет в дочерних шаблонах
Ответ №2:
Я думаю, вам нужно инициализировать его в своем представлении.Я сделал что-то вроде этого:
В app.js (которые я включил в свой index.html )
function scrollToId(id){
//scroll fn
}
На мой взгляд, /Component
импортирует {Component, OnInit } из ‘@angular / core’;
declare var scrollToId: any;
@Component({})
export class UserDetailsComponent implements OnInit {
constructor(){}
ngOnInit() {
new scrollToId('registration-form');
}
}
и у меня все работает нормально.
Комментарии:
1. Я должен использовать файлы javascript темы внутри моего приложения angular2. это не какая-то конкретная функция
2. Единственное, на что я хочу обратить внимание, это то, что вам также необходимо запустить эту функцию в режиме просмотра. По моему мнению, это тот же сценарий, когда вам нужно привязать событие к динамически генерируемым элементам, я запускаю его, когда компонент визуализируется или визуализируется.
3. в первый раз, когда я захожу на вкладку network внутри консоли, я вижу, что все файлы js регистрируются на вкладке network, но после изменения маршрута они недоступны