I have a typescript file called Projects.ts that I want to reference a global variable declared in a bootstrap plugin called bootbox.js.
I want to access a variable called bootbox from within a TypeScript classes.
Is it possible?
I have a typescript file called Projects.ts that I want to reference a global variable declared in a bootstrap plugin called bootbox.js.
I want to access a variable called bootbox from within a TypeScript classes.
Is it possible?
For those who didn't know already, you would have to put the declare statement outside your class just like this:
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;
}
In TypeScript the declare keyword is used where you want to define a variable that may not have originated from a TypeScript file.
It is like you tell the compiler that, I know this variable will have a value at runtime, so don't throw a compilation error.
If You want to have a reference to this variable across the whole project, create somewhere d.ts file, e.g. globals.d.ts. Fill it with your global variables declarations, e.g.:
declare const BootBox: 'boot' | 'box';
Now you can reference it anywhere across the project, just like that:
const bootbox = BootBox;
Here's an example.