我正在用 AngularJS 编写一个 SPA。现在,我有一个输入字段,它使用 $http 触发对第 3 方 API 的查询。搜索是实时完成的,因为我有一个 $watch 与输入模型绑定。
我的问题是,无论出于何种原因,结果只会在完整字符串与结果一致时出现,而不是之前。
例如,如果我正在寻找Frank Sinatra ,当Frank被输入输入时会出现一些结果,但是一旦我在Frank Sin,就会出现完全不相关的结果(或结果与Sin一致,但与整体不一致字符串和所需的结果只会在输入整个字符串后出现。
我的理解是,输入不会将输入的文本视为一个整体,而是将其视为不同单词的总和,这会使查询行为不端.
我正在附加我的JS,也许我做错了什么!
angular.module('myApp', ['ngResource'])
function Ctrl($scope, $http) {
var search = function(name) {
if (name) {
$http.get('http://api.discogs.com/database/search?type=artist&q='+ name +'&page=1&per_page=5').
success(function(data3) {
$scope.clicked = false;
$scope.results = data3.results;
});
}
$scope.reset = function () {
$scope.sliding = false;
$scope.name = undefined;
}
}
$scope.$watch('name', search, true);