存在我这里,我试图确定在打字稿数组或对象的自制属性,但通常得到的错误几种不同的情况:最好的方式来解决打字稿错误 - 属性不会对类型
“属性X不能在类型对象(或数组类型)”存在
比如我基于锥型定义文件使用角打字稿和一个确定的范围:
scope:ng.IScope
但后来当我尝试在范围内创建一个新的财产:
scope.anotherProperty = "string";
我得到上面提到的错误。我知道我可以做的一个解决了下列文件:
scope["anotherProperty"] = "string";
OR
(<any>scope).anotherProperty = "string;
另一个例子是,当我有我的D3图形内是这样的:
function panZoomNode (node:any) {
for (var i = 0; i < renderedNodes.length; i++) {
if (node.id === renderedNodes[i].id) {
}
}
}
理想,我想将(node:any)参数更改为类似于:
(node:Object)
但是当我这样做时,我收到一个错误,说“属性ID不存在于类型对象”。我知道我可以用上面提到的解决方案来纠正它,但对我来说这似乎有点草率。有没有更好的方式或最好的打字方式让这些数组和对象正确运行?
感谢
你可以继承ng.IScope,添加另一个属性的定义和使用?后一个问题是由于Object没有id属性造成的。您可以将它与任何类型放在一起或创建一个类/接口。 –
是的,我应该能够继承,那么添加定义的最佳方式是什么?那样会允许我做一些像“scope.anotherProperty = string”的东西。另外,如果我要添加一个接口,那么我想只设置节点对象可能具有的所有属性,或者如果我只是使用ID,我最好只是添加ID?然后在参数定义中调用它。谢谢 – bschmitty
我在下面添加了一个答案。你可以扩展它,而不是从ng.IScope继承。 –