Segui questi semplici passaggi. Ha funzionato per me. Iniziamo con una nuova app angolare 2 per evitare confusione. Sto usando Angular cli. Quindi installalo se non lo hai già.
https://cli.angular.io/
Passaggio 1: crea un'app demo angolare 2
ng new jquery-demo
puoi usare qualsiasi nome. Ora controlla se funziona correndo sotto cmd (ora assicurati di puntare a 'jquery-demo' se non usi il comando cd)
ng serve
vedrai "app funziona!" sul browser.
Passaggio 2: installa Bower (un gestore di pacchetti per il Web)
Esegui questo comando su cli (assicurati di puntare a 'jquery-demo' se non usi il comando cd):
npm i -g bower --save
Ora, dopo aver installato correttamente Bower, crea un file 'bower.json' usando il comando seguente:
bower init
Richiederà input, basta premere invio per tutti se si desidera valori predefiniti e alla fine digitare "Sì" quando verrà chiesto "Sembra buono?"
Ora puoi vedere un nuovo file (bower.json) nella cartella "jquery-demo". Puoi trovare maggiori informazioni su https://bower.io/
Passaggio 3: installare jquery
Esegui questo comando
bower install jquery --save
Creerà una nuova cartella (bower_components) che conterrà la cartella di installazione di jquery. Ora hai jquery installato nella cartella 'bower_components'.
Passaggio 4: aggiungere la posizione jquery nel file 'angular-cli.json'
Apri il file 'angular-cli.json' (presente nella cartella 'jquery-demo') e aggiungi la posizione di jquery in "script". Sarà simile a questo:
"scripts": ["../bower_components/jquery/dist/jquery.min.js"
]
Passaggio 5: scrivere un semplice codice jquery per il test
Apri il file 'app.component.html' e aggiungi una semplice riga di codice. Il file sarà simile al seguente:
<h1>
{{title}}
</h1>
<p>If you click on me, I will disappear.</p>
Ora apri il file 'app.component.ts' e aggiungi la dichiarazione della variabile jquery e il codice per il tag 'p'. È necessario utilizzare anche hook del ciclo di vita ngAfterViewInit (). Dopo aver apportato le modifiche il file sarà simile al seguente:
import { Component, AfterViewInit } from '@angular/core';
declare var $:any;
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
ngAfterViewInit(){
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
}
}
Ora esegui la tua app angular 2 usando il comando 'ng serve' e testala. Dovrebbe funzionare.