我正在使用console.log('%o',inst)检查qooxdoo类的实例。 这里的属性显示为带有“$$ user ...”标记。 但是在向类中添加新属性时,它不会显示在console.log-output中。 代码正在使用new属性运行;所以语法和类结构都可以。我检查了发布和调试模式。 如何在console.log输出中查看新属性我该怎么办? 或者是否有某些缓存,因此在某次刷新之前它不会显示?
答案 0 :(得分:1)
Qooxdoo使用$$user_
来存储当前用户提供的属性值。只有在类初始化期间构造对象属性后已主动设置属性时,才会设置$$user_
值。
拥有某种 init 值是不够的,所以你必须积极地放置一些内容,以便在上面的console.log
调用中显示它们。
初始值作为$$init_
存储在原型中,后跟变量名称。所以
qx.Class.define("foobar", {
extend: qx.core.Object,
properties: {
test1 : {},
test2 : {init: 5}
}
});
初始化类后,将不会直接导致单个$$user_test1
或$$user_test2
。如果您致电setTest2(99)
,您会看到$$user_test2
显示在控制台中 - 如果您拨打resetTest2()
,该消息就会消失。
要回答这个问题:您只能通过积极主动地强制设置$$user_
值。或者更好地在Chrome控制台中定义 watch ,在监视对象上调用getTest2()
。