gpt4 book ai didi

javascript - 带过滤器的 Angular 自动完成:search

转载 作者:行者123 更新时间:2023-11-28 07:38:48 27 4
gpt4 key购买 nike

我正在使用 $http 寻找“filter:search”和我的服务器请求之间的“事件”。

就像每次输入击键时的“自动完成”一样,我的 $http 应该启动一个新请求

<input ng-model="search">
<li ng-repeat="friend in friends | filter:search">
{{friend.name}}
</li>

伪代码..

// set inputdata
var sPostData = "filter:search";

$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";

$http.post(sUrl,sPostData).then(function(friendsResponse) {
$scope.friends = friendsResponse.data.ResultSet.result;


});

是否有任何提示或示例来执行此操作或错误的概念?

最佳答案

如果您想通过 AJAX 数据加载来实现类似自动建议的功能,那么 Angular 过滤器不是适合此目的的工具。相反,您可以使用 $scope.$watch 表达式:

$scope.$watch('search', function(newValue, oldValue) {
if (newValue !== oldValue) {
$http.post(sUrl, {filter: $scope.search}).then(function(friendsResponse) {
$scope.friends = friendsResponse.data.ResultSet.result;
});
}
});

以及相应的HTML:

<input ng-model="search" ng-model-options="{ updateOn: 'default blur', debounce: {'default': 500, 'blur': 0} }">

<li ng-repeat="friend in friends">
{{friend.name}}
</li>

请注意,您不再需要 |过滤器:搜索部分。我还添加了 ngModelOptions 以获得更好的体验。

关于javascript - 带过滤器的 Angular 自动完成:search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28297437/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com