2017-06-12 3 views
0

J'ai réussi à utiliser la bibliothèque Numeral.js dans mes applications angularJs (1.x) pour formater mes nombres dans différents formats. Voici comment j'utilise les filtres angular1:Comment utiliser la bibliothèque Numeral.js dans l'application tapuscrite angulaire2/ionique 2?

filter.js

.filter('numeral', function() { 
    return function (count) { 
    var numericalFormat = numeral(count).format('0.0a'); 
    return numericalFormat; 
    }; 
}) 

Pour que je suivais le docs of Numeral.js officiel et installé à l'aide NPM. Je fais aussi référence aux nodemodules dans index.html.

Dans le navigateur

<script src="node_modules/numeral/numeral.min.js"></script> 

mais il montre

ERROR ReferenceError: numeral is not defined at NumeralFilter.transform

Dans un premier temps j'ai essayé avec l'aide de référence CDN, il fonctionne comme je m'y attendais dans le navigateur. Mais quand j'ai installé l'application sur le vrai appareil, je reçois une erreur "le chiffre n'est pas défini".

tuyau

import {Pipe,PipeTransform,Injectable} from "@angular/core" 
@Pipe({ 
name:'numeralPipe' 
}) 
@Injectable() 
export class NumeralPipe implements PipeTransform{ 
    transform(count:any):any{ //eg: in count has value something like 52456.0 
     var numericalFormat = numeral(count).format('0.0a');//error here 
    return numericalFormat; // i have to format it like 52,5k 
    }; 
} 

Y at-il la bibliothèque de scripts de type pour le formatage et la manipulation des chiffres, ou est-il possible de le faire dans angular2?

+1

essayer d'ajouter 'déclarer numérique var: any' après' importation {Pipe, PipeTransform,} de Injectable "@ angulaire/core" ' –

+0

Ajouté comme réponse. vous pouvez accepter & Upvote –

Répondre

1

ajouter

declare var numeral:any

après

import {Pipe,PipeTransform,Injectable} from "@angular/core". 
+0

hey Ghiya! J'ai été réussi dans le navigateur via cdn mais quand je construis l'application obtenant une erreur sur l'appareil. donc j'ai essayé de l'installer via npm à nouveau je reçois la même erreur dans le navigateur aussi. J'ai mis à jour ma question. –

+0

avez-vous assuré que le js est là dans le dossier dist, postez votre structure de fichier. vous utilisez cli angulaire? –

+0

en fait c'est une application ionique-2. –

3
package

d'ajouter au dossier Modules nœud avec

yarn add numeral 

ou

npm install numeral 

importer ensuite dans le fichier Tapuscrit

import * as numeral from 'numeral';