Issue
suppose I have a class in typescript file like below:
export class app {
public variable1: string;
public variable2: number;
public variable3 = "Hello world"
constructor(count: number) {
this.variable1 = "something",
this.variable2 = 1 + count;
}
}
now in another file, I am exporting this class as:
import { app } from './directory';
let pageApp:app;
now, how can I access app
variables here?
Solution
Your definition of the class is syntactically incorrect, no let
in classes and semantically incorrect, you need to declare all fields:
// appClass.ts
export class app {
variable1: string // implicitly public in typescript
variable2: number
variable3 = "Hellow world"
constructor(count : number) {
this.variable1 = "something";
this.variable2 = 1 + count;
}
}
With regard to usage, the import should be fine, but you need to import the file in which the class resides (not the directory as your imports suggest) and you need to new up the class to create an instance
import { app } from './appClass'; // notice no extension (no .js or .ts)
let pageApp:app = new app(1);
console.log(pageApp.variable2);
Answered By – Titian Cernicova-Dragomir
Answer Checked By – David Goodson (BugsFixing Volunteer)