J'ai un fichier typographique appelé Projects.tsque je veux référencer une variable globale déclarée dans un plugin bootstrap appelé bootbox.js.
Je veux accéder à une variable appelée à bootboxpartir d'une classe TypeScript.
C'est possible?
J'ai un fichier typographique appelé Projects.tsque je veux référencer une variable globale déclarée dans un plugin bootstrap appelé bootbox.js.
Je veux accéder à une variable appelée à bootboxpartir d'une classe TypeScript.
C'est possible?
Réponses:
Vous devez dire au compilateur qu'il a été déclaré:
declare var bootbox: any;
Si vous avez de meilleures informations de type, vous pouvez également les ajouter à la place de any.
declaredéclaration?
declare var myFunction: any;?
declare var myFunction: (input: string) => void;
Pour ceux qui ne le savent pas déjà, vous devrez mettre la declaredéclaration en dehors de votre classcomme ceci:
declare var Chart: any;
@Component({
selector: 'my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.scss']
})
export class MyComponent {
//you can use Chart now and compiler wont complain
private color = Chart.color;
}
Dans TypeScriptle mot-clé declare est utilisé où vous souhaitez définir une variable qui peut ne pas provenir d'un TypeScriptfichier.
C'est comme si vous disiez au compilateur que, je sais que cette variable aura une valeur au moment de l'exécution, alors ne lancez pas d'erreur de compilation.
Si vous voulez avoir une référence à cette variable dans tout le projet, créez un d.tsfichier quelque part , par exemple globals.d.ts. Remplissez-le avec vos déclarations de variables globales, par exemple:
declare const BootBox: 'boot' | 'box';
Vous pouvez maintenant le référencer n'importe où dans le projet, comme ça:
const bootbox = BootBox;
Voici un exemple .
Téléchargez les typages bootbox
Ajoutez-y ensuite une référence dans votre fichier .ts.