我从这里得到的一个addItem
函数给了我这个错误消息:
错误 TS2349 (TS( 无法调用其类型缺少调用的表达式 签名。键入"搜索"没有兼容的呼叫签名。
接口:
export interface Search {
name: String;
type: String;
inputValue: String;
}
分光:
array : Search[];
searches: Search[];
打字稿:
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');
数据源(来自节点服务器(:
fetchSearches() {
this.searchService.getSearches()
.subscribe((data: Search[]) => {
this.searches = data
this.searches.forEach(search => {
search.inputValue = search.name;
})
console.log('Data requested...')
});
}
此语句
this.array[_method](this.searches[movieIndex]);
意味着您尝试获取this.array
的第_method
项并希望调用它(()
这是函数的调用(传递参数this.searches[movieIndex]
,但您的数组包含不可调用的Search
类型的元素
this.array[_method] ( this.searches[movieIndex] );
^ ^------ parameter ------^ ^
^ ------ function call -----^