arrays - 即使指定了数组类型的打字稿,拼接显示从不
问题描述
我有一个包含数组的接口:
export interface AnimationCanvasState {
frames: Array<Frame>
}
帧数组 def 的类型为Frame
。
我将此接口应用于 vuex 状态:
const state: AnimationCanvasState = {
frames: [],
}
export const animationCanvas: Module<AnimationCanvasState, RootState> = {
namespaced: true,
state,
getters,
mutations
}
我的问题是当我尝试将数据拼接到突变中的数组中时:
export enum AnimationCanvasMutations {
ADD_FRAME = "ADD_FRAME"
}
export const mutations: MutationTree<AnimationCanvasState> = {
[AnimationCanvasMutations.ADD_FRAME] (state, index:number | undefined) {
if (index !== undefined) {
state.frames.splice(index, 0, new Frame(8, 8));
} else {
state.frames.push(new Frame(8, 8));
}
}
}
我查过这样的错误,所有的解决方案似乎都说“你需要输入你的数组”,但我这样做了。我可以确认state.frames
确实输入了:
我不明白为什么编译器会在界面中明确键入此数组类型时将其视为永远不会。有什么想法吗?
解决方案
推荐阅读
- asp.net - ASP.NET MVC 和 II7 的静态重写,为什么所有页面链接都断开?
- sql - JsonSerializationException:无法反序列化当前 JSON 对象。在 asp.net 核心中
- javascript - 使用 css 中的变换或其他一些高性能方式从圆创建长圆形
- html - 使用 svg 每隔几秒移动一次对象
- keras - Keras 示例中的自动编码器
- amazon-web-services - 无法在 AWS 中保存 lambda 处理程序函数
- reactjs - DropDown 没有与 npm run build 一起显示
- python - 从文件模式读取文件时 Apache Beam python 错误处理
- java - maven pom.xml 中的变量扩展/替换何时发生
- python - 有效地将功能从列应用到其他列