Javascript md自动完成不';一次之后我就不工作了 我已经做了一个简单的自动完成功能的文本搜索。有两个函数-querySearch(searchText)和homeresults(item)。querySearch函数正确地获取结果,并且没有任何问题。一旦用户选择了一个结果,它就会调用homeresults函数。这个函数第一次可以正常工作,但之后就不工作了,除非我返回主页。因此,一旦用户进入结果页面,他就不能再次使用搜索栏,除非他返回主页。没有错误。以下是我的代码片段:

Javascript 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

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-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);
 };