CocosCreator设置property出现bug

使用2.2.2版本,typescript;
先创建一个组件例如
export default class Stage extends cc.Component { }

然后在另外一个脚本中设置property
@property(Stage)
stage:Stage = null;

结果property中显示null -_-!!!

关键是另外一个脚本里面也是同样的操作,一点问题也没有

我有点方,找了半天找不到是哪里的问题,请大神看看。

同样问题

点击Create按钮,仍然无效吗?那就清除下工程缓存,重新打开试试~

你这可能是ts循环引用的问题,

工程中一共用了三次引用组件的情况,两个有目前的问题,还有一个到现在还是正常的,估计和循环引用没关系,我还得再研究下。
……刚才通过引用cc.Node,然后在onLoad里使用getComponent()临时解决了问题,但是原问题还存在。

点击Create没有反应,重开几次了,工程创建时候用的是2.2.1,过程中出现了这个问题,然后以为是版本bug就升级成2.2.2,结果bug还存在,还有清除工程缓存应该怎么作?

解决了吗?

:relaxed:

依然没有

来个demo,我这边没有复现情况,不知道你的复现机制是怎么样的

:persevere: 时好时坏, 现在都没法用了.

为什么要property一下呢。 直接引用到 Stage不行么?

同问,我也遇到了这样的问题过,试了很多次都没出来。最后没办法我就换了个方法写了;

已经复现了但是怎么发上来……
大概和重复包含有关……………………

毕竟有时候直接引用不方便,拖拽可以省很多事

初学编程不会github,我就直接口述了:sunglasses:

1,建立空项目,两个node(node0,node1),两个ts脚本(script0,script1),分别挂上去

2,在script1里面添加script0的property,

然后回到编辑器,把node0 拖上去,

3,在script0里面添加script1的property,

添加完然后保存,这时候还是正常的

4,回到编辑器,把node1上去,这时候不会直接报错,但是如果点层级管理器里面的node1的话就会出现这个:

报错信息:
getComponent: Type must be non-nil
at Object.cc.errorID (C:\CocosCreator\resources\engine\bin.cache\dev\cocos2d\core\CCDebug.js:165:16)
at getConstructor (C:\CocosCreator\resources\engine\bin.cache\dev\cocos2d\core\utils\base-node.js:29:20)
at cc_Node.getComponent (C:\CocosCreator\resources\engine\bin.cache\dev\cocos2d\core\utils\base-node.js:399:35)
at HTMLElement.query-node-info (C:\CocosCreator\resources\app.asar\editor\builtin\scene\panel\messages\scene-query.js:1:1331)
at Object.e._dispatch (C:\CocosCreator\resources\app.asar\editor-framework\lib\renderer\panel.js:1:1876)
at EventEmitter. (C:\CocosCreator\resources\app.asar\editor-framework\lib\renderer\ipc.js:1:2952)
at EventEmitter.emit (events.js:194:13)

属性编辑器里显示还是正常的

再点一下引用右边的插号,就成之前的情况了

我也遇到相同的问题,但是已经使用过的地方不会出错。而且这个自定义组件也是正常的。

我也遇到了,没有循环引用,无法绑定控件,无法解决,好烦这个。。。

项目只有两个ts

只有 player 里面 import 了 joystick,应该不存在循环引用

手动把类名加上试试 @ccclass(“className”)

有没有示例啊,往哪里加?

你的问题是 property 里面没有 type 类型