我从here获得的addItem
函数给了我这个错误消息:
错误TS2349(TS)无法调用类型缺少调用的表达式 签名。 “搜索”类型没有兼容的呼叫签名。
接口:
export interface Search {
name: String;
type: String;
inputValue: String;
}
偏差:
array : Search[];
searches: Search[];
TypeScript:
addItems(startIndex, endIndex, _method) {
let movieIndex = 0
for (let i = 0; i < this.sum; ++i) {
movieIndex++;
if (movieIndex >= this.searches.length) movieIndex = 0;
this.array[_method](this.searches[movieIndex]);
}
}
发票:
this.addItems(startIndex, endIndex, 'push');
DataSource(来自节点服务器):
fetchSearches() {
this.searchService.getSearches()
.subscribe((data: Search[]) => {
this.searches = data
this.searches.forEach(search => {
search.inputValue = search.name;
})
console.log('Data requested...')
});
}
答案 0 :(得分:0)
此声明
this.array[_method](this.searches[movieIndex]);
表示您尝试获取_method
的第this.array
项并想要通过参数()
来调用它(this.searches[movieIndex]
是函数的调用),但您的数组包含Search
类型的元素,该元素不可调用
this.array[_method] ( this.searches[movieIndex] );
^ ^------ parameter ------^ ^
^ ------ function call -----^