Angulaire du Matériel de saisie semi-automatique avec $http appel
Ce que je suis en train de faire Angulaire du Matériel de saisie semi-automatique (md-saisie semi-automatique) avec dynamique de données récupérées à partir d'un appel AJAX de mon API REST. Malheureusement, je ne reçois que barre de progression indéterminée au lieu de la saisie semi-automatique d'éléments que vous pouvez voir ci-dessous.
Résultat
Contrôleur
$scope.customersSelect = {};
$scope.selectedItem = null;
$scope.searchText = null;
$scope.getCustomers = function (query) {
selectsService.getCustomers(query).then(function (results) {
$scope.customersSelect = results.data;
console.log($scope.customersSelect);
}, function(error) {
alert(error.data.message);
});
}
Service.
var selectsServiceFactory = {};
_getCustomers = function (query) {
return $http.get(serviceBase + 'api/selects/customers/' + query)
.then(function(results) {
return results;
});
}
selectsServiceFactory.getCustomers = _getCustomers;
return selectsServiceFactory;
Vue
<md-autocomplete md-floating-label="Klient"
autocomplete="off"
flex=""
md-search-text-change="getCustomers(searchText)"
md-item-text="item"
md-items="item in customersSelect"
md-search-text="searchText"
md-selected-item="machine.customerId"
md-input-maxlength="100"
md-input-minlength="2"
md-input-name="machineOwner">
<md-item-template>
<span md-highlight-text="searchText">{{item}}</span>
</md-item-template>
Je suis l'obtention de données de l'API, parce que je peux le voir imprimé sur la console.
- Pourquoi ne pas vous retourner une promesse de service?
Vous devez vous connecter pour publier un commentaire.
JS:
HTML:
Enfin je l'ai fait. Voici la solution.
J'ai eu du mal avec cela. J'ai fini par faire quelque chose comme ceci:
Problème pour moi est que le md-saisie semi-automatique besoin de la raison d'être d'un tableau, d'où la réponse de $http est un objet. J'espère que cela aide quelqu'un d'autre!!
Vous pouvez utiliser Angularjs, promet d'obtenir des données à partir de $http appel.
Utiliser $s'appliquent pour le coup un condensé du cycle de soi-même, il va mettre à jour la vue.
$digest already in progress
lien. Je pense que c'est parce$scope.$apply()
est appelé dans l'événement onChange.setTimeout(function(){ $scope.$apply(); }, 200);
$digest already in progress
ne se produit plus, mais la saisie semi-automatique ne fonctionne toujours pas.