之前一直用js写代码。
为了工作方便,我把编辑器节点名直接挂载到this上,就省去了很多this.node.getComponent(xxx)这种操作;
现在转TS写,用这种方法遇到问题,因为TS语法机制,好像必须提前申明好全部的变量。如果按照下面的写法this.xxx语法检测报错,是找不到的。(实际运行是没有问题的)有没有大佬能告知小弟,如何临时在类里面申明实例变量?只要能语法检测不报错就行。
之前js写法如下
let arrChildren = node.children;
for (let k = 0; k < arrChildren.length; ++k) {
let node = arrChildren[k];
this[node.name] = node;//将节点挂载到this //可以随时随地申明变量
}
ts写法
let arrChildren = node.children;
for (let k = 0; k < arrChildren.length; ++k) {
let node = arrChildren[k];
this[node.name] = node;//将节点挂载到this(这一步TS如何处理?)
}
如果不提前申明如:bg:cc.ndoe = null;
this.bg直接报不存在的属性,实际上是能用的