ng-model with $watch只响应完整字符串(AngularJS)
ng-model with $watch responding only with full strings (AngularJS)
我正在用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);
尝试用+
这就是他们自己在discogs.com
上的搜索是如何使用的,在他们的API中一定有一些不同的实现(也就是破坏)。
Edit2:当我失去type
时,我确实得到了一些'Frank Sinatra'的结果,查询这个:
http://api.discogs.com/database/search?q=frank+sin
也许他们的API的type
处理程序假定了关于查询字符串的事情。
相关文章:
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何将angularjs中的javascript字符串输出为循环数组
- AngularJS,如何更改查询字符串
- $scope变量被视为字符串AngularJs
- 如何在angularjs中实现html格式的字符串
- AngularJS-ng使用字符串索引在数组上重复
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 用Angularjs+Typescript将GZip Json字符串解压为普通Json字符串
- AngularJS中的数组未拾取字符串值
- 如何使用AngularJS应用基于Json字符串响应的条件CSS类
- 如何在AngularJS URL中的hashtag(#)前面加上字符串
- 在AngularJS中创建JSON字符串
- 将Byte数组转换为Angularjs中的Base64字符串
- 从输入中获取字符串,并在AngularJS中发出AJAX请求
- Mysql日期时间字符串格式为angularjs中的可读日期
- AngularJs将查询字符串发布到c#控制器
- 将模板呈现为受信任的 HTML 字符串 [AngularJS]
- 为什么对象键的第一个值被视为字符串 - AngularJs
- 未捕获错误:[$http:badreq] Http 请求配置 url 必须是字符串 (AngularJS)
- ng-model with $watch只响应完整字符串(AngularJS)