Ric*_*cha 2 typescript angular
从 angular 5.1 更新到 6.1 后,我开始从我的代码中收到一些错误,如下所示:
错误:ngc 编译失败:components/forms/utils.ts(5,3):错误 TS2322:类型 '[number] | [编号,编号,编号,编号]' 不可分配给类型 '[编号]'。
遵循以下代码:
export function bsColumnClass(sizes: [number]) {
let sizebs = ['col-xs-', 'col-sm-', 'col-md-', 'col-lg-',];
sizes = sizes || [12, 12, 12, 12];
let className = sizes.map(function callback(value, index, array) {
return sizebs[index].concat(value.toString());
}).join(" ");
return className;
}
Run Code Online (Sandbox Code Playgroud)
我注意到问题是因为我有一个函数参数sizes: [number],然后我正在训练执行这行代码:sizes = sizes || [12, 12, 12, 12];
你能告诉我解决这个问题的更好方法吗?
小智 5
在 Typescript 中,数组的声明方式如下
type[]
Run Code Online (Sandbox Code Playgroud)
代替
[type]
Run Code Online (Sandbox Code Playgroud)
如果您尝试使用这些更改编写代码,它应该可以工作,但是,如果我错了,请纠正我,但是,您是否尝试为尺寸分配一个数字列表,以防尺寸未定义?
如果是这样,您应该相应地键入您的函数
function bsColumnClass(sizes?: number[]) {
}
Run Code Online (Sandbox Code Playgroud)
的?如果您不向函数提供变量,将确保该事件,代码保持静态类型并接受变量参数
| 归档时间: |
|
| 查看次数: |
6395 次 |
| 最近记录: |