类型搜索没有兼容的呼叫签名 Angular 5+



我从这里得到的一个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 -----^  

最新更新