Angularjs Ui.Bootstrap Typeahead不使用异步调用
我正在使用ui.bootstrap typeahead进行异步调用。但是,生成的数据似乎没有返回到typeahead指令,因此数据不会出现下拉列表 html是Angularjs Ui.Bootstrap Typeahead不使用异步调用,angularjs,node.js,sails.js,angular-bootstrap,angular-ui-typeahead,Angularjs,Node.js,Sails.js,Angular Bootstrap,Angular Ui Typeahead,我正在使用ui.bootstrap typeahead进行异步调用。但是,生成的数据似乎没有返回到typeahead指令,因此数据不会出现下拉列表 html是 <input type="text" ng-model="asyncSelected" placeholder="Search Profile" typeahead="username.username for username in getSearch($viewValue)" typeahead-wait-ms="400" cl
<input type="text" ng-model="asyncSelected" placeholder="Search Profile" typeahead="username.username for username in getSearch($viewValue)" typeahead-wait-ms="400" class="form-control">
响应JSON对象是
Object
@type: "d"
id: "#17:3"
username: "Burt"
__proto__: Object
我在客户端使用角帆来查询后端。我已经用ui.bootstrap文档中给出的示例测试了代码,一切正常
$sails.get还可以作为console.log(item.username)打印出值
我觉得这与getSearch函数中的承诺有关
你知道为什么没有出现下拉列表吗?我将sails从10.5更新到11。随后,客户端SDK发生了变化(Sails.io),我使用的angular Sails库也需要更新 promise函数已更改,我需要更新它。将promise函数更改为下面的函数修复了该问题。现在,typeahead函数得到响应并显示下拉列表
return $sails.get("/search/" + val)
.then(function (response) {
console.log(response);
return response.data.map(function (item) {
return item.username;
});
}, function (response) {
alert('Houston, we got a problem!');
});
在我的例子中,promise函数正在工作,但是返回数据不知何故没有出现在下拉列表中。但是我用静态数据检查过了,它工作得很好。
return $sails.get("/search/" + val)
.then(function (response) {
console.log(response);
return response.data.map(function (item) {
return item.username;
});
}, function (response) {
alert('Houston, we got a problem!');
});