Javascript md自动完成不';一次之后我就不工作了 我已经做了一个简单的自动完成功能的文本搜索。有两个函数-querySearch(searchText)和homeresults(item)。querySearch函数正确地获取结果,并且没有任何问题。一旦用户选择了一个结果,它就会调用homeresults函数。这个函数第一次可以正常工作,但之后就不工作了,除非我返回主页。因此,一旦用户进入结果页面,他就不能再次使用搜索栏,除非他返回主页。没有错误。以下是我的代码片段:
HTMLJavascript md自动完成不';一次之后我就不工作了 我已经做了一个简单的自动完成功能的文本搜索。有两个函数-querySearch(searchText)和homeresults(item)。querySearch函数正确地获取结果,并且没有任何问题。一旦用户选择了一个结果,它就会调用homeresults函数。这个函数第一次可以正常工作,但之后就不工作了,除非我返回主页。因此,一旦用户进入结果页面,他就不能再次使用搜索栏,除非他返回主页。没有错误。以下是我的代码片段:,javascript,angularjs,autocomplete,md-autocomplete,Javascript,Angularjs,Autocomplete,Md Autocomplete,HTML <form ng-submit="$event.preventDefault()"> <md-autocomplete md-selected-item="selectedItem" md-search-text="searchText" md-items="item in querySearch(searchText)" md-item-text="item.title" md-delay="400" md-min-length="2" md-floating-la
<form ng-submit="$event.preventDefault()">
<md-autocomplete md-selected-item="selectedItem" md-search-text="searchText" md-items="item in querySearch(searchText)" md-item-text="item.title" md-delay="400" md-min-length="2" md-floating-label="Search for any Query">
<div layout-align="start center">
<span md-highlight-text="searchText" ng-click="homeresult(item)">{{item.title}}</span>
</div>
<md-not-found>No matches found </md-not-found>
</md-autocomplete>
在homeresult()中,代码重定向到/results。因此,如果您在定义md autocomplete的同一页面上显示结果,而不是重定向,那么它将起作用。您可以添加一个简单的检查来隐藏结果,直到我们从$http获得响应 在homeresult()中,代码正在重定向到/results。因此,如果您在定义md autocomplete的同一页面上显示结果,而不是重定向,那么它将起作用。您可以添加一个简单的检查来隐藏结果,直到我们从$http获得响应
$scope.querySearch = function(search) {
var key = $scope.searchText;
console.log('keyword searched by user is ' + key);
return $http.get('/api/searchresult?title=' + key)
.then(function(response) {
return response.data
});
};
$scope.homeresult = function(item) {
console.log(item);
$timeout(function() {
item.title = item.title.replace(/ /g, '-');
$location.url('/results').search({
"title": item.title
})
}, 50);
};