我正在尝试构建动态自动填充功能。 使用此示例:http://codepen.io/anon/pen/obJYPE
我正在使用Client.query()而不是[{'foo':'x','example':'etc'}]
但它不起作用。
function loadAll() {
var repos = Client.query();
return repos.map( function (repo) {
repo.value = repo.name.toLowerCase();
return repo;
});
}
如果loadAll()直接返回Client.query(),几乎所有东西都会起作用,但它会停止搜索其中的项并返回以下错误:
typeError: Cannot read property 'indexOf' of undefined
抱歉我的英语不好。
答案 0 :(得分:0)
如果client.query从服务器加载数据,那么它应该返回一个promise吗?
如果是这样,你应该这样做:
self.repos = [];// init to empty array to avoid error before data are ready
Client.query().then(function(data){
self.repos = data; // or response.data is from $http
});
否则我只能指出对indexOf的唯一调用是:
return function filterFn(item) {
return (item.value.indexOf(lowercaseQuery) === 0);
};
所以您的项目已定义但不是值字段,可能是空项目?