Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用api调用结果填充typeahead_Angularjs_Api_Asynchronous_Typeahead - Fatal编程技术网

Angularjs 使用api调用结果填充typeahead

Angularjs 使用api调用结果填充typeahead,angularjs,api,asynchronous,typeahead,Angularjs,Api,Asynchronous,Typeahead,因此,这个输入搜索栏的理想功能是从数据库中获取所有结果,这些结果与用户在解块后键入的内容相匹配 我正在取回一个数组,typeahead也在工作并正确显示数据 但是,api总是查询以前的值,现在查询输入中当前的值 例如,如果我要搜索的值是“Clock”: 输入值=” 如果我键入“Clock”,网络将显示api正在获取“” 如果我在“Clock”后面再加一个字母,比如“Clocks”,网络就会显示它对“Clock”进行api获取 这是发出get请求并返回用于填充typeahead的数组的函数

因此,这个输入搜索栏的理想功能是从数据库中获取所有结果,这些结果与用户在解块后键入的内容相匹配

我正在取回一个数组,typeahead也在工作并正确显示数据

但是,api总是查询以前的值,现在查询输入中当前的值

例如,如果我要搜索的值是“Clock”:

输入值=”

如果我键入“Clock”,网络将显示api正在获取“”

如果我在“Clock”后面再加一个字母,比如“Clocks”,网络就会显示它对“Clock”进行api获取

这是发出get请求并返回用于填充typeahead的数组的函数

    $scope.getDynamicSearchCompanies = function(val) {
      return $scope.Company.query({
        limit: 16,
        keyword: val
      }).$promise.then(function(res) {
        return res.companies;
      })
      .catch(function(err) {
        throw err;
      })
    }

如果更换此:

getDynamicSearchCompanies(filter.company)
为此:

getDynamicSearchCompanies($viewValue)
它会解决你的问题。 你可以在这里阅读官方文件 还有官方的plunker,包括一个和你一样的箱子

getDynamicSearchCompanies($viewValue)