Javascript Angular UI Typeahead不显示下拉列表
我的下拉列表没有显示,即使我知道它得到了正确的结果。代码:Javascript Angular UI Typeahead不显示下拉列表,javascript,angularjs,angular-ui,angular-ui-bootstrap,Javascript,Angularjs,Angular Ui,Angular Ui Bootstrap,我的下拉列表没有显示,即使我知道它得到了正确的结果。代码: <input type="text" ng-model="newSelectedSemester" placeholder="Semester name" typeahead="semester.name for semester in getSemesters($viewValue)"> 我可以确认getSemesters正在返回一个对象数组,每个对象上都有name属性 我也已经在我的站点的其他地方实现了这一点,所以
<input type="text" ng-model="newSelectedSemester" placeholder="Semester name" typeahead="semester.name for semester in getSemesters($viewValue)">
我可以确认getSemesters正在返回一个对象数组,每个对象上都有name属性
我也已经在我的站点的其他地方实现了这一点,所以我知道我正在引入正确的依赖项。我在这里遗漏了什么?找到了问题所在
我使用的是$http.get,从“success”函数返回,而我本应该从“then”函数返回。我不知道这是为什么,但它起了作用:)发现了问题
我使用的是$http.get,从“success”函数返回,而我本应该从“then”函数返回。我不知道这是为什么,但它起了作用:)我遇到了另一个解决方案,它为我解决了这个问题:
$scope.solution = function(val){
var data = {
cards: val
};
var result = [];
var deferred = $q.defer();
$http.post('/somepath', data)
.success(function(response) {
angular.forEach(response, function(card) {
result.push(card);
});
return deferred.resolve(result);
})
.error(function(){
/* error handling */
});
return deferred.promise;
};
下面是HTML部分的一个示例:
<input ... uib-typeahead="card as card.number + ' ' + card.suit for card in cardList($viewValue)" />
这里是我遇到的另一个解决方案,它为我解决了这个问题:
$scope.solution = function(val){
var data = {
cards: val
};
var result = [];
var deferred = $q.defer();
$http.post('/somepath', data)
.success(function(response) {
angular.forEach(response, function(card) {
result.push(card);
});
return deferred.resolve(result);
})
.error(function(){
/* error handling */
});
return deferred.promise;
};
下面是HTML部分的一个示例:
<input ... uib-typeahead="card as card.number + ' ' + card.suit for card in cardList($viewValue)" />
您是否检查了控制台有无错误?您是否检查了控制台有无错误?问题是您有一个getSemests($viewValue)
函数,它应该返回特定的值。它内部的成功不是函数的返回,而是get()操作的返回。您必须使用特定的返回或then()来获得实际值。问题是您有一个getSemests($viewValue)
函数,该函数应该返回特定值。它内部的成功不是函数的返回,而是get()操作的返回。您必须使用特定的返回或then()来获得实际值。