没有机会让一个强类型对象被mobx观察到
No chance to make an strongly typed object observable by mobx
我使用mobx库。它很适合ReactJS。我有一个这样的可观察数组:
@observable items = [];
当我以这种方式添加对象时,我没有任何问题,并且给定的对象将如预期的那样可观察。
let x = {
Title: "sample title"
}
items.push(x);
但是当我定义一个强类型对象(使用typescript)
export class SampleObject {
Title: string;
constructor(title: string) {
this.Title = title;
}
}
并以这种方式推入新对象,它将不是可观察的
items.push(new SampleObject("Sample Title"));
我怎样才能解决这个问题!?
x和y有什么不同?!
var x = {
Title: "sample"
}
var y = new SampleObject("sample");
MobX只在将普通对象自动转换为可观察对象(例如数组)时,因为对于类实例,否则它可能会干扰该类的内部。
所以在你的类中,只要把你的字段(Title)标记为@observable
,你就可以了。参见:https://mobxjs.github.io/mobx/refguide/object.html,第二个项目符号
相关文章:
- 获取网格视图行中对象的类型
- 在 javascript 中查找对象的类型
- 将 MongoDB 文档强制转换为强类型类
- 如何从 获取返回对象的类型.POST ajax 调用
- 将强类型的 ViewModel 值传递给 Javascript 函数
- 检查对象的类型和编号
- 如何识别所选对象的类型
- "[对象对象]”;类型为String
- 如何检查java脚本中的变量是否是特定对象的类型
- Java中类似JavaScript的对象数据类型
- 如何在TypeScript中从匿名对象轻松创建强类型对象
- JavaScript:我能以某种方式强类型函数参数吗
- 使用Node.JS和TypeScript进行强类型数据库访问
- 尝试检查未定义json对象的类型时出错
- 将json数据转换为强类型视图
- 将JSON字符串转换为C#中的强类型类对象
- TypeScript空对象文字类型注释
- Javascript:属性/对象的类型
- 创建对象后更改对象的类型
- 没有机会让一个强类型对象被mobx观察到