嗨,我是Typescript的新手,我有一个对象类型变量,其中的值可能与不同类型或嵌套对象的值不同。现在我的问题是,如何为该对象定义一个模型,以便在调用不同的键时不会遇到示例错误?
例如:
export class Controller {
protected static response(res: Response, statusCode: number = 200, data: any, user: string = '', dev: string = '', code: number = 200, result: string = 'success'){
res.status(statusCode).send({
data: data,
message: {
user: '',
dev: ''
},
code: 403,
result: 'Error'
})
}
ERROR: res.status ---> This expression is not callable. Type 'Number' has no call signatures
答案 0 :(得分:9)
我也遇到了这个错误,并且意识到我只是忘记了导入Response。添加一条进口线为我解决了这个问题。
import express, {Request, Response} from 'express';
答案 1 :(得分:1)
res.status
是根据该错误消息的数字。似乎没有使用正确的参数调用Controller。致电console.log(res)
之前先在其中res.status
,然后检查您的呼叫站点代码。
答案 2 :(得分:1)
如果它对其他人有帮助,我也遇到过同样的错误:
const shift = progressWidth * percentage
(this.$refs.expected as Vue).$el.style.left = "100px"
其中 percentage
是 number
。发生错误是因为没有分号,第二行被解释为该行的一部分,如下所示:
const shift = progressWidth * percentage(this.$refs.expected as Vue).$el.style.left = "100px"
这可以通过添加前导分号来解决:
const shift = progressWidth * percentage
;(this.$refs.expected as Vue).$el.style.left = "100px"
或者更好的是,重新排列以便根本不需要它:
const expected = (this.$refs.expected as Vue).$el
const shift = progressWidth * percentage
expected.$el.style.left = "100px"