- 我在文本搜索上做了一个简单的自动完成功能。有两个函数 - querySearch(searchText) 和 homeresults(item)。querySearch 函数正确地获取结果并且那里没有问题。一旦用户选择了一个结果,它就会调用 homeresults 函数。此功能第一次可以正常工作,但之后除非我返回主页,否则无法正常工作。所以一旦用户在结果页面上,他不能再次使用搜索栏,除非他回到主页。没有错误。这是我的代码片段:
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>
Javascript
$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); };
问问题
139 次