没有带AngularJS和typeahead

时间:2016-10-16 13:23:02

标签: angularjs typeahead

我遇到了typeahead指令的问题。我尝试通过$ http.get从我的服务中获取数据。 在控制台输出中,我可以看到我的数据来自服务,但我没有得到结果的弹出窗口。

这是我的代码:

Html模板:



<input type="text" class="form-control" placeholder="Kundensuche" ng-model="selectedCompany" typeahead="c for c in companies($viewValue)" typeahead-no-results="noResults" typeahead-min-length="3">                    
&#13;
&#13;
&#13;

服务:

&#13;
&#13;
var _search = function (route, id) {
        return $http.get(serviceBase + 'api/' + route + '/search/' + id);        
    };

serviceHelperFactory.search = _search;
&#13;
&#13;
&#13;

控制器:

&#13;
&#13;
$scope.companies = function (val) {
              var output = [];
              var promise = serviceHelper.search('companies', val);
              promise.then(function (result) {
                  result.data.forEach(function (company) {
                                  output.push(company.companyName);
                                  //output.push(company);
                  });
                  console.log(output);                  
              }, function (error) {
                  adminInvoiceService.serviceErrorMessage(error);
              });
              return output;
          }
&#13;
&#13;
&#13;

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我修好了! 对于所有有同样问题的人来说,这是我的解决方案!

$scope.companies = function (val) {
              return $http.get('http://localhost:5569/api/companies/search/'+val).then(function (res) {
                  var companies = [];
                  console.log(companies);
                  res.data.forEach(function (item) {
                      companies.push(item);                      
                  });
                  console.log(companies);
                  return companies;
              });
          };