TypeScript 如何访问其他 class 中定义的对象
TypeScript How to access object defined in other class
我有一个使用 Aurelia 框架的项目。我想制作 global\static 应该跨几个文件访问的对象。但是当我尝试从另一个文件访问它时,它说我的对象是未定义的。这是它的样子:
FirstFile.ts
export function showA() {
console.log("Changed a to " + a);
}
export var a = 3;
export class FirstFile {
public ModifyA() {
a = 7;
showA();
}
它说 a = 7。然后我像这样在其他文件中使用它。
SecondFile.ts
import FirstFile = require("src/FirstFile");
export class SecondFile {
showA_again() {
FirstFile.showA();
}
我在名为 SecondFile.html
的视图文件中执行 showA_again()
<button click.trigger="showA_again()" class="au-target">Button</button>
当我点击按钮时,我在控制台中看到变量 "a" 仍然是 3。
有没有办法在文件之间存储变量?
我建议您将 FirstFile
注入 SecondFile
。现在您的代码有不良架构的味道。
回答您的问题:您可能正在寻找静态 (playground sample)
export class FirstFile {
static showA = function() {
console.log("Changed a to " + FirstFile.a);
}
static a = 3;
public ModifyA() {
FirstFile.a = 7;
FirstFile.showA();
}
}
export class SecondFile {
showA_again() {
FirstFile.showA();
}
}
我有一个使用 Aurelia 框架的项目。我想制作 global\static 应该跨几个文件访问的对象。但是当我尝试从另一个文件访问它时,它说我的对象是未定义的。这是它的样子:
FirstFile.ts
export function showA() {
console.log("Changed a to " + a);
}
export var a = 3;
export class FirstFile {
public ModifyA() {
a = 7;
showA();
}
它说 a = 7。然后我像这样在其他文件中使用它。
SecondFile.ts
import FirstFile = require("src/FirstFile");
export class SecondFile {
showA_again() {
FirstFile.showA();
}
我在名为 SecondFile.html
的视图文件中执行 showA_again()<button click.trigger="showA_again()" class="au-target">Button</button>
当我点击按钮时,我在控制台中看到变量 "a" 仍然是 3。 有没有办法在文件之间存储变量?
我建议您将 FirstFile
注入 SecondFile
。现在您的代码有不良架构的味道。
回答您的问题:您可能正在寻找静态 (playground sample)
export class FirstFile {
static showA = function() {
console.log("Changed a to " + FirstFile.a);
}
static a = 3;
public ModifyA() {
FirstFile.a = 7;
FirstFile.showA();
}
}
export class SecondFile {
showA_again() {
FirstFile.showA();
}
}