Миграция веб-приложения в Angular 2 - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь переместить веб-приложение на Angular2.Я успешно переместил HTML и CSS в angular's component.html & component.css соответственно.Однако у меня возникли проблемы с файлами .js.

Как включить файл .js в component.ts?

.js файл:

A = (function(w){
    var init = function(){};
    var scrollToElement = function(){};
}(window);

$(document).ready(function() {
  A.init();
  A.scrollToElement();
  ....
});

component.ts

import { Component, OnInit } from '@angular/core';
declare var $: any;

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  constructor() { }

  ngOnInit() {
    $.getScript('assets/js/script.js');
  }
}

Это правильно?Что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 25 июня 2018

Лучше, если вы напишите js-код на TypeScript в component.ts
и нет необходимости в документах jQuery document.ready, window.load и т. д.
потому что угловые имеют свои собственные крючки жизненного цикла
увидеть это -> увидеть это

0 голосов
/ 02 июля 2018

Используя обратную связь @SreedevR & @mlMughal, вот как я это сделал.

В index.html я включаю файл сценария:

<!doctype html>
<html lang="en" class="no-js">
<head>
   <base href="/">
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">

   <script src="assets/js/script.js"></script>
</head>
<body></body>
</html>

В component.ts:

export class HomeComponent implements OnInit {
A:any;

constructor() { }
ngOnInit() {}
ngAfterViewInit(){
   A.init();
   A.scrollToElement();
  }
}
}
0 голосов
/ 25 июня 2018

Пожалуйста, включите js в ваш основной html-файл, и вы можете вызвать беллетристику в компоненте.

Например: если вы используете скрипт-файл test.js, пожалуйста, включите его в html-файл и вызовите любую объявленную функциюв нем в компоненте вроде

f(){
    new test();
  }

Надеюсь, теперь все ясно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...