我在vue 2中有一个用typescript编写的组件:
data: {
userfilterresults: []
},
mounted() {
axios.get("/Tasks/GetTasks")
.then(response => {
this.userfilterresults = response.data;
});
},
methods: {
addtab() {
// this push bellow is the reason of the error:
this.userfilterresults.push({
id : '-1',
userid : '1',
name : 'newtab'
});
我想将新项目添加到现有数组userfilterresults但我有错误:参数类型{..}不能分配给类型的参数 如何将新项添加到数组中?
答案 0 :(得分:1)
您需要为userfilterresults
声明一种类型。
默认情况下,对于let x = []
,x
的类型为never[]
。
您需要明确指定或将其标记为any[]
。 e.g。
let x: any[] = []
let y: CustomType[] = []
我不熟悉Vue的类型,但这是潜在的原因。
尝试
data: {
userfilterresults: [] as any[]
}
看看是否有帮助。
答案 1 :(得分:0)
userfilterresults:any = [];
addtab(){
var obj={ id : '-1', userid : '1', name : 'newtab'
}}
this.userfilterresults.push(obj);