AngularJS で SPA をプログラミングしています。現在、$http を使用してサードパーティ 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);