【发布时间】:2021-12-17 02:05:53
【问题描述】:
我遇到了打字稿问题。 示意性地,我有:
-
父抽象类A。
-
子类 B。
-
子类 C。
export abstract class BasePage { public value = 1; } @Component({...}) // selector, template ... export class A extends BasePage{ constructor(){} editValue(){ this.value = 3; } } @Component({...}) // selector, template ... export class B extends BasePage{ constructor(){} }<!-- B template --> <p> Parent abstract value : {{ value }}<!-- still remain 1 --> </p>
在父类 A 中,我有在两个子类中使用的属性“值”。但是当我在 A 类中同时启动 editValue() 时,它不会在 B 类中刷新。
【问题讨论】:
-
因为它们不是同一个实例
-
你需要在父类中有一个 Observable 子类可以订阅
-
可能你的问题的答案在于解释javascript如何理解子类和父类,当你调用editValue(){ this.value = 3;这个函数“this”属于A类而不是BaseClass
标签: javascript html angular typescript