qooxdoo新属性在日志工具中不可见

时间:2016-09-15 09:26:55

标签: properties qooxdoo

我正在使用console.log('%o',inst)检查qooxdoo类的实例。 这里的属性显示为带有“$$ user ...”标记。 但是在向类中添加新属性时,它不会显示在console.log-output中。 代码正在使用new属性运行;所以语法和类结构都可以。我检查了发布和调试模式。 如何在console.log输出中查看新属性我该怎么办? 或者是否有某些缓存,因此在某次刷新之前它不会显示?

1 个答案:

答案 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()