无法在angular-ui typeahead上显示结果

时间:2014-04-05 05:47:23

标签: javascript angularjs angular-ui angular-ui-bootstrap

所以我试图在angular-ui bootstrap演示页面中实现google map example之类的东西,但是我无法在下拉菜单中显示结果。

完整代码 http://plnkr.co/edit/eIM7UC4HrIUXxdET3CO0?p=preview

这是我到目前为止所拥有的

HTML

<input required ng-model="asyncSelected" typeahead="address for address in getUserData($viewValue) | filter:$viewValue" type="text" placeholder="e.g john, david">

角度控制器

  $scope.getUserData = function(val) {
            return $http.get('/sessionHandler/userProfileNameAndPicture/'+val, {
            }).then(function(userData){
              var addresses = [];
              console.log(userData) // see picture below 
              angular.forEach(userData.data, function(item){
                addresses.push(item);
              });
              return addresses;
            });
          };

的console.log(用户数据) enter image description here

我得到了结果,但我无法在下拉菜单中显示。

更新: 应用@Engineer的答案后 enter image description here

我收到此错误:TypeError: Cannot call method 'replace' of undefined

enter image description here

1 个答案:

答案 0 :(得分:1)

从图片可以看出,"results"数组中没有.forEach属性(您在data中使用它)。尝试将您的代码更改为低于1:

angular.forEach(userData.data, function(item){
                         //  ^--------   '.results' is removed