web-dev-qa-db-fra.com

Lier la valeur d'entrée au bouton ng-click (envoyer la valeur comme paramètre)

J'essaie de lier la valeur d'un champ de saisie au paramètre de ma méthode sur ng-click. Voici ce que j'ai obtenu, mais cela ne fonctionne pas, et je ne suis pas trop sûr s'il est possible de le faire de cette façon?:

<input type="text" name="name" value="{{post.PostId}}" />
<button ng-click="getById(post.PostId)"></button>
<h1>{{post.Title}}</h1>


$scope.getById = function (id) {
        console.log(id);
        return $http.get('/api/Post/' + id);
    }
7
btmach

Tu devrais utiliser ng-model directive pour votre élément d'entrée.

Annotation

 <input type="text" name="name" ng-model="post.PostId" />
 <button ng-click="getById(post.PostId)"></button>
 <h1>{{post.Title}}</h1>

Cela prendra en charge la liaison du modèle bidirectionnel à votre propriété post.PostId. Votre ng-click la directive récupérera la valeur correcte entrée dans l'élément d'entrée.

Voir mon travail Plunk :)

21
JDTLH9