recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - liaison bidirectionnelle angulairejs

input a une liaison ng-model La saisie manuelle peut modifier cette valeur. J'ai utilisé jquery pour modifier la valeur d'un input $('#dd').val('str');
puis le scope de model. est resté inchangé
Aide

世界只因有你世界只因有你2843 Il y a quelques jours548

répondre à tous(2)je répondrai

  • 漂亮男人

    漂亮男人2017-05-15 16:57:24

    Si vous utilisez angular way pour modifier et mettre à jour la valeur du DOM ou des variables, aucune opération supplémentaire n'est requise.

    Mais si vous vous éloignez d'Angular et utilisez du code comme jquery qui ne fait pas partie du système d'Angular, vous devez informer Angular de vos modifications afin qu'Angular puisse obtenir la dernière valeur pour la refléter sur la page.

    Vous pouvez donc utiliser la méthode suivante pour notifier angulaire

    $scope.$apply(function(){
        jQuery('input').val(newValue);
    })

    répondre
    0
  • 怪我咯

    怪我咯2017-05-15 16:57:24

    La bonne façon est... de ne pas modifier la vue manuellement.
    Proposition :
    1. Essayez d'exposer le modèle, puis modifiez le modèle. Après la modification, appelez $scope.$apply(). De plus, afin d'éviter diverses erreurs inattendues, vous pouvez écrire setTimeout(function(){$scope.$apply()},0) comme ceci.
    2. Dans tous les cas, si vous avez ce besoin, cela doit être dû à un événement, une opération utilisateur ou un ajax. Les opérations Ajax peuvent utiliser le service $http fourni par Angular. Les opérations utilisateur peuvent généralement être encapsulées dans des directives.

    répondre
    0
  • Annulerrépondre