Voici les étapes que j'ai effectuées pour installer PrimeNG:
npm install primeng --save npm install primeui --save
Mise à jour (Index.html} _: (J'ai dû copier les répertoires primeng et primeui de node_modules dans le dossier assets pour se débarrasser de 404 fichier introuvable erreur)
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.6/flatly/bootstrap.min.css" rel="stylesheet">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="assets/styles.css">
<link rel="stylesheet" href="assets/primeui/themes/omega/theme.css">
<link rel="stylesheet" href="assets/primeui/primeui-ng-all.min.css">`
Mettre à jour test.component.ts:
import {Calendar} from '../../assets/primeng/primeng';
....
export class TestComponent {
dateValue:string;
}
Mettre à jour test.component.html:
<p-calendar formControlName="date"></p-calendar>
Résultat: rien ne s'affiche sur la page.
Est-ce que je manque quelque chose?
Edit1:
<p-calendar [(ngModel)]="dateValue"></p-calendar>
à test.component.html, je reçois Erreur: Non capturé (promis): Impossible d'affecter une référence ou une variable!
Edit2:
Je viens de l'essayer dans un autre projet qui n'utilise pas angular-cli:
<link rel="stylesheet" href="node_modules/primeui/themes/omega/theme.css" />
<link rel="stylesheet" href="node_modules/primeui/primeui-ng-all.min.css" />
....
import {Calendar} from 'primeng/primeng';
....
<p-calendar formControlName="date"></p-calendar>
dès que j'ajoute directives:[Calendar]
je reçois une erreur:
http: // localhost: 3000/primeng/primeng 404 (introuvable)
Erreur: Erreur: erreur XHR (404 introuvable) chargement http: // localhost: 3000/primeng/primeng (…)
Mettez à jour votre correspondance dans SystemJS
à quelque chose comme ceci:
var map = {
'app': 'app', // 'dist',
'@angular': 'node_modules/@angular',
'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
'rxjs': 'node_modules/rxjs',
'primeng': 'node_modules/primeng'//<-- add this
};
Et mettez à jour vos paquets dans SystemJS
à quelque chose comme ceci:
var packages = {
'app': { main: 'boot.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
'angular2-in-memory-web-api': { defaultExtension: 'js' },
'primeng': { defaultExtension: 'js' } //<-- add this
};
Pour importer, vous pouvez utiliser ceci:
import {Calendar} from 'primeng/components/calendar/calendar';
ou si vous ne vous souciez pas du fait qu'il charge tous les composants, vous pouvez simplement utiliser:
import {Calendar} from 'primeng/primeng';
Pour plus de référence, je vous suggère de regarder la configuration de PrimeNG
Voir au bas de documentation page
Dépendances jQuery UI Datepicker et DateTimePicker
vous devez donc intégrer ces lignes dans votre index.html que vous n'avez pas intégré, je pense, alors essayez d'utiliser ceci.
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
de plus, n'oubliez pas de lister le calendrier dans la liste des directives sous @component
Déplacez tous vos fichiers css de primeng de index.html
vers le fichier angular-cli.json
. comme ça
"styles": [
"../node_modules/font-awesome/css/font-awesome.css",
"../node_modules/primeui/primeui-ng-all.min.css"
....
],
déplacez tous vos fichiers primeng js également dans le fichier angular-cli.json.
Hé, c’est le projet de démarrage rapide primeng angular cli le plus mis à jour.
Essayez d'ajouter primeui-ng-all.min.js dans index.html
<!-- JS for PrimeUI -->
<script src="node_modules/primeui/primeui-ng-all.min.js"></script>
Voir si cela aide.
Vous devez l'ajouter à vos importations dans le fichier module.ts, sinon Angular l'ignorera.
Ajouter import CalendarModule dans votre app.module.ts
@NgModule({ imports: [
CommonModule,
CalendarModule], declarations: [CarruselComponent], exports: [ CarruselComponent ]})