2015-12-21 1 views
6

Étant donné une classe dactylographiée qui est en tant que module d'espace de noms TS, dans un fichier CoolApps.Utilities.ts:Comment importer une classe dactylographiée angulaire 2 espaces de noms dans

module CoolApps { 
     export class Utilities { 
      myMethod(){ 
       alert("something awesome"); 
      } 
     } 
    } 

La classe fonctionne dans une application normale, mais tapuscrit J'essaie de trouver la bonne façon de référencer cette classe dans Angular 2. Comment l'utiliser dans une application Angular 2 (Ionic 2 dans le cas)? Jusqu'à présent, la suivante ne résout pas donc je suis probablement obtenir la mauvaise syntaxe:

import {Page} from 'ionic-framework/ionic'; 
import {Utilities} from '../../core/CoolApps.Utilities'; 

En utilisant une référence LIKE afin de permettre à l'éditeur de voir le code comme valide, mais angulaire ne peut pas résoudre (peut-être l'importation ne fonctionne que pour des modules spécifiques angulaires):

///<reference path="../../core/mapping/OCM.Mapping.ts"/> 

Répondre

5

importation:

import {CoolApps} from '../../core/CoolApps.Utilities'; 

exemple d'utilisation de classe

let util : CoolApps.Utilities = new CoolApps.Utilities(); 

Vous pouvez également supprimer la déclaration du module de CoolApps.Utilities.ts et de transformer l'importation comme ceci:

import * as CoolApps from '../../core/CoolApps.Utilities'; 
+0

Que diriez-vous si l'espace de nommage CoolApps est réparti sur plusieurs fichiers, par exemple CoolApps.ImageProcessing ou CoolApps.PhotoUpload? Vous ne savez pas si le listage dans les modules vaut la peine d'être conservé? –