假设我在打字稿文件中有一个类,如下所示:
export class app {
let variable3="Hellow world"
constructor(count){
this.variable1="something",
this.variable2=1+count;
}
}
现在在另一个文件中,我将此类导出为:
import { app } from './directory';
let pageApp:app;
现在,如何在这里访问这些变量?
答案 0 :(得分:3)
您对类的定义在语法上是错误的,在类中没有let
并且在语义上是错误的,您需要声明所有字段:
// 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;
}
}
关于用法,导入应该可以,但是您需要导入该类所在的文件(而不是导入所建议的目录),并且需要重新创建该类以创建实例
import { app } from './appClass'; // notice no extension (no .js or .ts)
let pageApp:app = new app(1);
console.log(pageApp.variable2);
答案 1 :(得分:2)
参考-> Typescript classes
假设您将课程分类为:
export class app {
//you can specify Public, private, and protected modifiers
// default consider as public so you can access in other class as well.
public variable1="Hellow world";
public variable2: any
public variable3: any;
constructor(count){
this.variable1="something",
this.variable2=1+count;
}
}
导入另一个文件
import { app } from './directory';
let var_name = new app('pass_count_here')
//Access
var_name.variable1
答案 2 :(得分:0)
您可以通过创建对象2来简单地使用文件2中文件1中的类A的方法和变量
这是一个简短的例子
文件1:App.ts
export class App {
variable1: string;
variable2: number;
constructor(count){
this.variable1="something";
this.variable2= 1 + count;
}
}
文件2:File2.ts
import {App} from './App';
console.log("Hello ", new App(2).variable1);
它将正常工作。同样,您也可以使用该类的方法。
答案 3 :(得分:0)
您需要实例化类let instance = new App(1)
您可以在类中实现一个吸气剂
BEGIN
FOR sess IN (select sid,serial# from v$session where status<>'ACTIVE')
LOOP
EXECUTE IMMEDIATE 'alter system kill session ''' || sess.sid || ','
|| sess.serial# || ''' immediate';
END LOOP;
END;
或者您可以将变量声明为public
public getVariable(){
return variable1;
}
答案 4 :(得分:0)
通常,术语类变量用于表示类成员的变量,即存在于类中但不存在于实例中的变量。这意味着,它们在任何实例构建之前就存在。
在 TypeScript 中,这些类变量是使用 static
关键字创建的。 (这就是为什么它们也被称为静态方法。)在您的示例中,只有 variable1
可以成为类变量,因为其他两个变量是实例成员(也称为实例变量),因为它们在实例化过程中获取它们的值 - 在 constructor
方法中。
为了使 variable1
成为类方法,将其设为 static
,如下所示:
export class app {
static variable1 = "Hello, World";
public variable2: any;
public variable3: any;
constructor(count){
this.variable1 = "something";
this.variable2 = 1 + count;
}
}
现在,它可以从类app
中寻址,无需任何实例化:
console.log(app.variable1) // Hello, World