2

J'utilise ce code pour rechercher des films lorsque l'utilisateur tape le nom du film dans la zone de saisie semi-automatique. Je reçois les résultats sur la console, mais qui ne figurent pas de texte de l'article Htmlmd-autocomplete ne fonctionne pas

<md-autocomplete md-selected-item="selectedMovie" 
    md-search-text-change="searchMovie(searchText)" 
    md-search-text="searchText" 
    md-selected-item-change="selectedItemChange(movie)" 
    md-items="movie in movies" 
    md-item-text="movie.title" 
    md-min-length="1" 
    placeholder="Search Movies"> 
    <md-item-template> 
     <span md-highlight-text="searchText" md-highlight-flags="^i"> 
      {{movie.title}} 
     </span> 
    </md-item-template> 
    <md-not-found> 
     No Movies matching were found. 

    </md-not-found> 
</md-autocomplete> 

Js

$scope.searchMovie = function (text) { 
      $http.get('api/movie', { 
       params: { 
        searchMovieName: text 
       } 
      }).success(function (data, status) { 
       console.log(data.results); 
       console.log(status); 
       $scope.movies = data.results; 
      }).error(function (err) { 
       console.log(err); 
      }); 
     }; 
+0

Appellez-vous la méthode 'searchMovie' après l'avoir définie? – gnerkus

+0

md-search-text-change l'appelle –

+0

Il suffit de vérifier attentivement l'exemple car vous ne l'utilisez pas correctement. https://material.angularjs.org/latest/demo/autocomplete – sdfacre

Répondre

1

JS

$scope.searchMovie = function(text) { 
    return $http.get('api/movie', { 
    params: { 
     searchMovieName: text 
    } 
    }); 
} 

dans votre code HTML

<md-autocomplete md-selected-item="selectedMovie" 
md-search-text="searchText" 
md-selected-item-change="selectedItemChange(movie)" 
md-items="movie in searchMovie(searchText)" 
md-item-text="movie.title" 
md-min-length="1" 
placeholder="Search Movies"> 
    <md-item-template> 
    <span md-highlight-text="searchText" md-highlight-flags="^i"> 
     {{movie.title}} 
    </span> 
    </md-item-template> 
    <md-not-found> 
    No Movies matching were found. 
    </md-not-found> 

$ http.get renvoie l'objet de promesse qui peut être utilisé dans md-items. Comme md-items = "film dans searchMovie (searchText)"