使用2.2.2版本,typescript;
先创建一个组件例如
export default class Stage extends cc.Component { }
然后在另外一个脚本中设置property
@property(Stage)
stage:Stage = null;

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

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


我有点方,找了半天找不到是哪里的问题,请大神看看。
使用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还存在,还有清除工程缓存应该怎么作?


解决了吗?

依然没有
来个demo,我这边没有复现情况,不知道你的复现机制是怎么样的
时好时坏, 现在都没法用了.
为什么要property一下呢。 直接引用到 Stage不行么?
同问,我也遇到了这样的问题过,试了很多次都没出来。最后没办法我就换了个方法写了;
已经复现了但是怎么发上来……
大概和重复包含有关……………………
毕竟有时候直接引用不方便,拖拽可以省很多事
初学编程不会github,我就直接口述了
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 类型