Bonjour,

Voila je rencontre un petit problème avec mon code.
Je veux que dans mon input apparaisse la valeur

Ce que je fais

Ce input permet de sélectionner une adresse grâce à l'auto complétion de google places.
Malheureusement, le input est vide alors que "vm.request.location" est set et a bien une adresse.
Je l'affiche même plus haut.
Si je retire l'auto complétion, alors le ng-value fonctionne et le input a bien une valeur de base

<input type="text"
                                           class="form-control"
                                           g-places-autocomplete force-selection="true"
                                           ng-model="vm.requestLocation"
                                           ng-value="vm.request.location"
                                           />

J'ai le même problème avec un textarea qui n'utilise pas l'auto complétion

<textarea ng-model="vm.requestDescription"
                                              ng-value="vm.request.description"
                                              class="form-control"
                                              rows="8">
                                    </textarea>

Ce que je veux

Je veux de l'aide :x

3 réponses


Salut,

si on regarde ton code, ce ne sont pas les mêmes variables qui sont utilisées pour ngModel et ngValue. Est-ce normal ?

Maitre2B
Auteur

Oui c'est normal.
"vm.request.location" est une valeur renvoyée par l'API.
"vm.requestLocation" est le nom de ma variable, ce qui me permet de récupérer ce qu'elle contient dans mon controller.

Je pense que tu devrais mettre a jour ngModel plutot que d'utiliser ngValue. Voici ce qui est dit dans la documentation :

It is mainly used on input[radio] and option elements, so that when the element is selected, the ngModel of that element (or its select parent element) is set to the bound value. It is especially useful for dynamically generated lists using ngRepeat, as shown below.

It can also be used to achieve one-way binding of a given expression to an input element such as an input[text] or a textarea, when that element does not use ngModel.

cf : https://docs.angularjs.org/api/ng/directive/ngValue

Il semblerait que ngModel et ngValue soient incompatibles.